[ You are here:
XTF ->
Change Log -> Version 2.0 ]
Version 2.0 Changes
The main changes in XTF 2.0 are under the hood (mainly upgrades to the underlying Lucene and Saxon engines) but a major new feature has been added: multi-word spelling correction. Additionally, the XTF code has been reformatted to make it easier for the main developers and outside parties to work on it and collaborate. Finally, several bugs have been fixed and the documentation has been updated.
As always, every effort has been made to maintain compatibility with existing stylesheets and configuration files. No changes should be necessary (though note that queries with upper case letters are handled
slightly differently now).
Following are details on all the changes in this version.
- A robust and efficient spelling correction engine is now available and enabled by default for all queries in crossQuery. Programming, reference, and "under the hood" documentation is provided. [feature 1710858]
- XTF now uses the Java 1.5 / 5.0 platform, which provides better XML parsing, enhanced performance, and support for handy programming constructs. If you are using Java 1.4.x, you'll need to upgrade before using this version of XTF. [feature 1710859]
- The latest versions of Saxon (8.9) and Lucene (2.1) are now included with XTF. These provide better performance and many bug fixes, as well as opportunities for to integrate new features into XTF. [features 1470982 and 1471001; bug 1580595]
- Servlets in XTF now detect the output method specified in the <xsl:output> stylesheet tag and automatically set the HTTP mime type appropriately. Previously the mime type was always set to "text/html" which is incorrect for XML documents. [support 1638176, bug 1639774]
- Documented the xtf:sectionTypeAdd prefilter attribute, which has existed for quite some time and comes in handy storing hierarchical section types. [support 1671683]
- XTF now inserts version numbers into index and lazy tree files, and checks them to verify compatibility. This should prevent problems encountered by users trying to use indexes generated by previous versions of XTF. [feature 1710855]
- Multi-character diacritics as well as non-spacing marks are now removed by default during index tokenization and query processing. Previously only single base/diacritic characters were being handled. Thanks to Joao Lima for pointing this out and testing the fix. [bug 1615393]
- The redirect:send, Saxon extension now properly handles attribute-value templates. [bug 1639774]
- There were several situations where errors during indexing could result in empty or corrupt lazy tree files. These have been fixed. Thanks to Jakob Saternus for pointing this out and sending fixes. Also, lazy files that are generated by dynaXML will be automatically re-generated if the source file changes (this would not work for lazy files generated by the textIndexer since they would then be out of sync with the index.) [bug 1691482]
- Certain tokens (such as identifiers) containing underscores were tokenized differently by the textIndexer as opposed to the query parser, making it impossible to query for them. Now they are tokenized consistently. [bug 1710871]
- Fixed a bug in the "book bag" Javascript code that prevented removing books from the bag. [bug 1710875]
- In the default stylesheets, most instances of "&" are now replaced with a simple semicolon. Semicolons work just as well and make the code and URLs more compact.
- The input and output tags for the Query Router stylesheet (only needed by advanced users) are now documented.
- Broken links and missing images in the documentation have been fixed.
- When lazy files are generated by the textIndexer, the printed count of stored XSL keys is now correct; previously it was always one higher than the actual count.
- The servlets and indexer now properly handle ampersand and other special characters within filenames. However, the default stylesheets don't produce correct dynaXML links yet. Fixing this would take a lot of work, and it's not clear that it would be worth it. So for now, these files work in crossQuery only. [bug 1710875]
- Added a new section on Optimizing Performance to XTF Tips & Tricks. This covers stylesheet tips, profiling, and adjusting Java's virtual memory.
- Stylesheets can use a new extension function to get the current date and time.
- URL parameter tokens are no longer converted to lower case before passing them to the stylesheets, which enables one to echo a user's query in the same case they typed it. Case mapping is now handled internally in the text engine, after the query has been parsed. [bug 1710875]