--- 2.0.45 2010/12/22 Add Debian package for Ubuntu maverick. Update to newer Libxml2/Libxslt for Windows package. Escape-sequences are disabled for RPN-queries with truncation=105/106. These, unlike regular expressions, do not support \-sequences . --- 2.0.44 2010/06/29 grs1: avoid term_len < 0 for .abs operator 'range' ICU: fix use of un-init variable. More reasonable approx hits for truncated searches. Updates WRT Odr_int (YAZ 4). --- 2.0.43 2009/11/05 Fix hits counts for searches when @attr 12=n is in use. This bug was introduced in 2.0.40. --- 2.0.42 2009/10/08 Proximity modifications. The optimized proximity now deals with more cases, ie all prox of the form @prox 0 d 1 1,2,3 k 2 .. That's exlusive==0, any distance, ordered (true), relation (<, =, <=), known unit word. Fix bug WRT inconsistent registers, bug #3062. Fix install doc rule so it's compatible with Automake 1.11. --- 2.0.41 2009/08/24 Fix typos and other errors in the documentation. Thanks to Galen Charlton. Fix DOM filter so that full record ID (z:id) if given is used verbatim rather than truncated until first blank - in other words use memcpy rather than sscanf. For PI fix record attributes parsing which was completely broken. --- 2.0.40 2009/07/13 Fixed problem in result set handling and segment handling. --- 2.0.39 2009/07/09 Improved speed of record fetching by using a different block sizes for recd{A,B}. Added zlib-compression of recd-storage (record data). This is enabled by using recordCompression: zlib in zebra.cfg. Dictionary delete more agressive (dict_del_string). --- 2.0.38 2009/06/19 Improved estimated hits for AND operation (bug #2907) Fixed problem with register area growing after "drop DB". (bug #2913). --- 2.0.37 2009/05/18 Example with marc21 is now installed and part of packages. Fixed XSL for OAI example. Fixed problem with generic proximity handling. Added new ranking handler: rank-2. This is a combination of rank-1 and static rank.. The staticrank is inverse (lowest value comes first, etc..). rank-2 thus substracts that from score. This allows a system to specify a "base" rank (=staticrank). --- 2.0.36 2009/02/17 Added implementation-codes directive for .mar files. Avoid error for missing recordId when zebraidx' option -s is in use. Fixed problem with some disk blocks not beeing freed correctly when 'drop database' is used. --- 2.0.34 2008/11/06 Facets can now be performed on sort registers (:s), not just regular indexes (:w, :p) etc.. The performance appers to be much better than before. Added a facility to embed metadata for records generated by the DOM XML filter. The meta data step is triggered by a 'process-meta' section in the retrieve section of the dom config, e.g. The meta section substitutes metadata for all elements called 'meta' in namespace http://indexdata.com/zebra-2.0 . The meta element must have exactly one attribute, name, which specifies the special element set name which is equivalent to the suffix to zebra:: for non-embedded special retrievals. This allows snippets, facets etc to be included. Fixed bug #2202: incorrect sorting order when searching multiple databases. --- 2.0.32 2008/06/06 Fixed OAI example. --- 2.0.30 2008/05/14 Changed service name for Windows. Bug #978. Fixed the alwaysmatches including _ALLRECORDS for ICU term indexing. Bug #2139. --- 2.0.28 2008/04/03 Handle right-truncation for ICU normalized terms. Updated OAI-PMH example. --- 2.0.26 2008/01/28 Fixes for searches on Chinese text. Fixes for scan using ICU indexing terms. --- 2.0.24 2008/01/18 Fixed some memory violations for ICU enabled indexing that could be triggered by long phrases. Enable ICU on Windows. Thanks to Tumer Garip for makefile patches. Fixed bug #2002: Zebra crashes during merge using ICU indexing. --- 2.0.22 2007/12/20 Handle encoding errors for strings passed to ICU. (assert was thrown earlier). Added zebraidx command, adelete, which attempts to delete records. It's like 'delete', but does not fail if a record does not exist. --- 2.0.20 2007/12/19 Added experimental support for faceted results. This is implemented as a special retrieval on a result set and is triggered using element set name zebra::facet::f1:t1,f2,t2,.. which will return terms and hit counts for field f1, type t1, field f2, type t2, .. The returned data is packed as XML or SUTRS depending on record syntax. Added support for Unicode-based indexing using ICU. This allows locale specific scanning, sorting. The implementation is based on the ICU utility part of YAZ 3.0.16 and later. See the manual as well as the examples/marcxml for an example of the use of ICU. --- 2.0.18 2007/09/19 Fixed bug with scan and staticrank enabled. Bug introduced in 2.0.16. --- 2.0.16 2007/09/12 Scan now returns a displayTerm which closer to the original word/phrase from original record. Added snippet support. Element set name zebra::snippet will make Zebra return an XML record with snippets (terms around matching terms). Fixed bug #1142: Non-indexed but listed attributes issues diagnostic. Fixed bug #1131: Missing value-of data in DOM filter. Fixed bug #1049: zebra.cfg lines with leading space are ignored. Fixed bug #1128: sortmax not honored. Fixed bug #1121: Crash for some searches with customized string.chr. --- 2.0.14 2007/05/09 Zebra uses the YAZ 3 API. Note that this changes the Zebra API as well. The register layout is the same however. Fixed bug #1114: scan within set may use excessive CPU. Fixed memory leak that occurred in scan. Fixed memory leak that occurred for each deleted record. Optimize updates of records where content is almost identical to previous version of record. This makes updating of the internal explain database faster too. For RPN queries the index type (w,p,..) may be specified verbatim as structure attribute with string value, e.g. @attr 4=w . Changed record update API . It is now handled by function zebra_record_update which does insert/replace/delete/update of records . This function replaces zebra_record_{insert,delete} and zebra_admin_exchange_record. The DOM filter uses this feature and the @type attribute in record element specifies the action insert/replace/delete/update. Added support for multi-record updates (Bug #944). Based on patch from Hans-Werner Hilse. --- 2.0.12 2007/03/07 Fixed bug with indexing of attributes for rec.grs-class of filters. If X-Path was enabled xelm a/@b would be ignored. Fixed bug in register system where 'no more space' messages was produced even though there was plenty of space. Fixed bug #884: Entity declarations in input are lost at retrieval time. Implemented new filter 'dom'. See test/xslt/dom-config*xml for examples. This, like alvis, performs indexing and retrieval using XSLT. But Unlike alvis, it allows multiple XSLT steps to be performed and does ISO2709 reading. Bug #843. --- 2.0.10 2007/01/24 Staticrank indexing is now an index register type defined in default.idx via directive 'staticrank'. The 'staticrank' directive for grs is no longer supported (was only implemented for Zebra 2.0.8). For searches, allow truncmax value to be controlled with attribute 13. If given, that overrides the value of 'truncmax'. For truncations being limited (abort at truncmax terms), zebrasrv returns SearchResponse with resultSetStatus=subset. For estimated hit counts, zebrasrv returns SearchResponse with resultSetStatus=estimate. --- 2.0.8 2007/01/15 For searches, do not truncate more than at most 'truncmax' terms in one single term with right-truncation/regular attribute. By default, 'truncmax', is 10000. Bug #781: Easier tracking of result sets. We only do this when mkstemp is available (most moderun Unixes supports this). The PID is included in filename : tempdir/zrs_PID_XXXXXX. Added support for specification of staticrank for grs-class of filters. This is enabled by using 'staticrank indexname' in .abs. Contents of indexname (elm ... indexname:w) is then used as value for staticrank. Implemented sorting via the ISAMB system. To enable, use sortindex:i in zebra.cfg. Added special retrieval support for sort keys. These keys can also be fetched using zebra::index:field:s Added support for specification of approximative limits for whole query. This is specified as attribute type 12. Semantics is the same as estimatehits in zebra.cfg. --- 2.0.6 2006/11/28 Fixed bug #736: Updates gets slower. Fixed bug #735: Delete fails to process rest of file after a record that does not exist, Added RPM package for Zebra 2. Improved indexing speed for large documents. Added support for special utility retrieval zebra:: which offers retrieval of fundamental properties for record, such as indexed terms, raw record, and system record ID. --- 2.0.4 2006/10/16 Fixed bug #47: Commit needs to check for roll-back. Fixed bug #672: Trailing characters in password are ignored Added extra presence check for tcl.h, because some systems have tclConfig.sh installed even though Tcl C headers are missing. Optimized melm performance. Do not use sync(2) during commit (but rely on sync'd individual files). Fixed bug in ISAMB's utility function decode_ptr. With gcc -O3 on some platforms the src argument was not updated. Problem was compiler optimization due to strict aliasing rules. --- 2.0.2 2006/09/22 Bug fixes: #638, #647, #657, #669. Implement skip of 0 hit counts in scan. Useful for scan operations limited by a result set. Honor position attribute, i.e. allow first-in-field search. To enable this, "firstinfield 1" must be given for an index in default.idx. Enabled in tab/default.idx for w. At this stage first-in field is supported for phrase/and-list/or-list searches Common stream reader interface for record filters (struct ZebraRecStream). Debian package fix: packages idzebra-2.0 + libidzebra-2.0-modules did not depend properly on sub packages. --- 2.0.0 2006/08/14 New record filter (record type) 'alvis' which uses XSLT transformations to drive both indexing as well as retrieval. See example configuration in the 'example/alvis-oai' directory. 'isamb' is now the default ISAM system. In Zebra 1.3, the default ISAM was 'isamc'. The type used can still be configured with the 'isam' setting in 'zebra.cfg'. Index structure is now 64-bit based, also on 32 bit systems. There are no more 2GB register file limits. Extended search result tuning. Approximate limit for terms can be enabled and specified with attribute 11. The (approx or exact) hit count is returned as part of the search response as in 1.3 series. The subqueryID of a search term hit count can be specified with attribute 10. Zebra uses string attributes for indexing internally. Using set+numeric use attribute can still be used. This is a search-only conversion which inspects '*.att'-set files as indicated using attset-directives in 'zebra.cfg'. 'attset' references are no longer required, but when used they deserve as "check" for that the index names used are also present in '*.att'. Zebra record filters (record type handlers) may be built as loadable modules (.so's) on Unix. In particular the Zebra 2.0 Debian package uses separate packages for each of them. This also means that zebra programs such as zebraidx is no longer depending on Tcl/other.. Documentation updates, especially on query structure and syntax, SRU, XSLT support, alvis filter module, and many added examples. Improved logging of the 'zebrasrv' and 'zebraidx' binaries. Improved debian package structure. --- 1.3.16 2004/08/16