3 Fix bug in dictionary component of Zebra that could lead to
4 inconsistent register assert for large deleteions.
6 Improve estimate hits for phrase searches.
10 Add Debian package for Ubuntu maverick.
12 Update to newer Libxml2/Libxslt for Windows package.
14 Escape-sequences are disabled for RPN-queries with truncation=105/106.
15 These, unlike regular expressions, do not support \-sequences .
19 grs1: avoid term_len < 0 for .abs operator 'range'
21 ICU: fix use of un-init variable.
23 More reasonable approx hits for truncated searches.
25 Updates WRT Odr_int (YAZ 4).
29 Fix hits counts for searches when @attr 12=n is in use. This bug
30 was introduced in 2.0.40.
34 Proximity modifications. The optimized proximity now deals with more
35 cases, ie all prox of the form @prox 0 d 1 1,2,3 k 2 ..
36 That's exlusive==0, any distance, ordered (true), relation (<, =, <=),
39 Fix bug WRT inconsistent registers, bug #3062.
41 Fix install doc rule so it's compatible with Automake 1.11.
45 Fix typos and other errors in the documentation. Thanks to Galen
48 Fix DOM filter so that full record ID (z:id) if given is used verbatim
49 rather than truncated until first blank - in other words use memcpy
50 rather than sscanf. For PI fix record attributes parsing which was
55 Fixed problem in result set handling and segment handling.
59 Improved speed of record fetching by using a different block sizes
62 Added zlib-compression of recd-storage (record data). This is enabled
63 by using recordCompression: zlib in zebra.cfg.
65 Dictionary delete more agressive (dict_del_string).
69 Improved estimated hits for AND operation (bug #2907)
71 Fixed problem with register area growing after "drop DB". (bug #2913).
75 Example with marc21 is now installed and part of packages.
77 Fixed XSL for OAI example.
79 Fixed problem with generic proximity handling.
81 Added new ranking handler: rank-2. This is a combination of rank-1 and
82 static rank.. The staticrank is inverse (lowest value comes first, etc..).
83 rank-2 thus substracts that from score. This allows a system to specify
84 a "base" rank (=staticrank).
88 Added implementation-codes directive for .mar files.
90 Avoid error for missing recordId when zebraidx' option -s is in use.
92 Fixed problem with some disk blocks not beeing freed correctly when
93 'drop database' is used.
97 Facets can now be performed on sort registers (:s), not just regular indexes
98 (:w, :p) etc.. The performance appers to be much better than before.
100 Added a facility to embed metadata for records generated by the DOM XML
101 filter. The meta data step is triggered by a 'process-meta' section in the
102 retrieve section of the dom config, e.g.
103 <retrieve name="myelementset">
104 <xslt stylesheet="my-usual.xsl"/>
107 The meta section substitutes metadata for all elements called 'meta' in
108 namespace http://indexdata.com/zebra-2.0 . The meta element must have
109 exactly one attribute, name, which specifies the special
110 element set name which is equivalent to the suffix to zebra:: for
111 non-embedded special retrievals. This allows snippets, facets etc to be
114 Fixed bug #2202: incorrect sorting order when searching multiple databases.
116 --- 2.0.32 2008/06/06
120 --- 2.0.30 2008/05/14
122 Changed service name for Windows. Bug #978.
124 Fixed the alwaysmatches including _ALLRECORDS for ICU term indexing. Bug #2139.
126 --- 2.0.28 2008/04/03
128 Handle right-truncation for ICU normalized terms.
130 Updated OAI-PMH example.
132 --- 2.0.26 2008/01/28
134 Fixes for searches on Chinese text.
136 Fixes for scan using ICU indexing terms.
138 --- 2.0.24 2008/01/18
140 Fixed some memory violations for ICU enabled indexing that could be
141 triggered by long phrases.
143 Enable ICU on Windows. Thanks to Tumer Garip for makefile patches.
145 Fixed bug #2002: Zebra crashes during merge using ICU indexing.
147 --- 2.0.22 2007/12/20
149 Handle encoding errors for strings passed to ICU. (assert was
152 Added zebraidx command, adelete, which attempts to delete records.
153 It's like 'delete', but does not fail if a record does not exist.
155 --- 2.0.20 2007/12/19
157 Added experimental support for faceted results. This is implemented
158 as a special retrieval on a result set and is triggered using element
159 set name zebra::facet::f1:t1,f2,t2,.. which will return terms and
160 hit counts for field f1, type t1, field f2, type t2, .. The returned
161 data is packed as XML or SUTRS depending on record syntax.
163 Added support for Unicode-based indexing using ICU. This allows
164 locale specific scanning, sorting. The implementation is based on
165 the ICU utility part of YAZ 3.0.16 and later. See the manual as well
166 as the examples/marcxml for an example of the use of ICU.
168 --- 2.0.18 2007/09/19
170 Fixed bug with scan and staticrank enabled. Bug introduced in 2.0.16.
172 --- 2.0.16 2007/09/12
174 Scan now returns a displayTerm which closer to the original word/phrase
175 from original record.
177 Added snippet support. Element set name zebra::snippet will make
178 Zebra return an XML record with snippets (terms around matching terms).
180 Fixed bug #1142: Non-indexed but listed attributes issues diagnostic.
182 Fixed bug #1131: Missing value-of data in DOM filter.
184 Fixed bug #1049: zebra.cfg lines with leading space are ignored.
186 Fixed bug #1128: sortmax not honored.
188 Fixed bug #1121: Crash for some searches with customized string.chr.
190 --- 2.0.14 2007/05/09
192 Zebra uses the YAZ 3 API. Note that this changes the Zebra API
193 as well. The register layout is the same however.
195 Fixed bug #1114: scan within set may use excessive CPU.
197 Fixed memory leak that occurred in scan.
199 Fixed memory leak that occurred for each deleted record.
201 Optimize updates of records where content is almost identical to previous
202 version of record. This makes updating of the internal explain database
205 For RPN queries the index type (w,p,..) may be specified verbatim as
206 structure attribute with string value, e.g. @attr 4=w .
208 Changed record update API . It is now handled by function
209 zebra_record_update which does insert/replace/delete/update of records .
210 This function replaces zebra_record_{insert,delete} and
211 zebra_admin_exchange_record. The DOM filter uses this feature and the
212 @type attribute in record element specifies the action
213 insert/replace/delete/update.
215 Added support for multi-record updates (Bug #944). Based on patch from
218 --- 2.0.12 2007/03/07
220 Fixed bug with indexing of attributes for rec.grs-class of filters.
221 If X-Path was enabled xelm a/@b would be ignored.
223 Fixed bug in register system where 'no more space' messages was produced
224 even though there was plenty of space.
226 Fixed bug #884: Entity declarations in input are lost at retrieval time.
228 Implemented new filter 'dom'. See test/xslt/dom-config*xml for examples.
229 This, like alvis, performs indexing and retrieval using XSLT. But Unlike
230 alvis, it allows multiple XSLT steps to be performed and does ISO2709
233 --- 2.0.10 2007/01/24
235 Staticrank indexing is now an index register type defined in default.idx
236 via directive 'staticrank'. The 'staticrank' directive for grs is no longer
237 supported (was only implemented for Zebra 2.0.8).
239 For searches, allow truncmax value to be controlled with attribute 13.
240 If given, that overrides the value of 'truncmax'.
242 For truncations being limited (abort at truncmax terms), zebrasrv returns
243 SearchResponse with resultSetStatus=subset.
245 For estimated hit counts, zebrasrv returns SearchResponse with
246 resultSetStatus=estimate.
250 For searches, do not truncate more than at most 'truncmax' terms in one
251 single term with right-truncation/regular attribute. By default, 'truncmax',
254 Bug #781: Easier tracking of result sets. We only do this when mkstemp
255 is available (most moderun Unixes supports this). The PID is included
256 in filename : tempdir/zrs_PID_XXXXXX.
258 Added support for specification of staticrank for grs-class of filters.
259 This is enabled by using 'staticrank indexname' in .abs. Contents of
260 indexname (elm ... indexname:w) is then used as value for staticrank.
262 Implemented sorting via the ISAMB system. To enable, use sortindex:i in
265 Added special retrieval support for sort keys. These keys can also be
266 fetched using zebra::index:field:s
268 Added support for specification of approximative limits for whole query.
269 This is specified as attribute type 12. Semantics is the same as
270 estimatehits in zebra.cfg.
274 Fixed bug #736: Updates gets slower.
276 Fixed bug #735: Delete fails to process rest of file after a record that
279 Added RPM package for Zebra 2.
281 Improved indexing speed for large documents.
283 Added support for special utility retrieval zebra:: which offers retrieval
284 of fundamental properties for record, such as indexed terms, raw record,
285 and system record ID.
289 Fixed bug #47: Commit needs to check for roll-back.
291 Fixed bug #672: Trailing characters in password are ignored
293 Added extra presence check for tcl.h, because some systems have
294 tclConfig.sh installed even though Tcl C headers are missing.
296 Optimized melm performance.
298 Do not use sync(2) during commit (but rely on sync'd individual files).
300 Fixed bug in ISAMB's utility function decode_ptr. With gcc -O3 on some
301 platforms the src argument was not updated. Problem was compiler
302 optimization due to strict aliasing rules.
306 Bug fixes: #638, #647, #657, #669.
308 Implement skip of 0 hit counts in scan. Useful for scan operations
309 limited by a result set.
311 Honor position attribute, i.e. allow first-in-field search. To
312 enable this, "firstinfield 1" must be given for an index in
313 default.idx. Enabled in tab/default.idx for w. At this stage
314 first-in field is supported for phrase/and-list/or-list searches
316 Common stream reader interface for record filters (struct ZebraRecStream).
318 Debian package fix: packages idzebra-2.0 + libidzebra-2.0-modules did
319 not depend properly on sub packages.
323 New record filter (record type) 'alvis' which uses XSLT transformations
324 to drive both indexing as well as retrieval. See example configuration in the
325 'example/alvis-oai' directory.
327 'isamb' is now the default ISAM system. In Zebra 1.3, the default ISAM was
328 'isamc'. The type used can still be configured with the 'isam' setting
331 Index structure is now 64-bit based, also on 32 bit systems.
332 There are no more 2GB register file limits.
334 Extended search result tuning. Approximate limit for terms can be enabled
335 and specified with attribute 11. The (approx or exact) hit count is returned
336 as part of the search response as in 1.3 series. The subqueryID of a search
337 term hit count can be specified with attribute 10.
339 Zebra uses string attributes for indexing internally. Using set+numeric
340 use attribute can still be used. This is a search-only conversion which
341 inspects '*.att'-set files as indicated using attset-directives in 'zebra.cfg'.
342 'attset' references are no longer required, but when used they deserve
343 as "check" for that the index names used are also present in '*.att'.
345 Zebra record filters (record type handlers) may be built as loadable
346 modules (.so's) on Unix. In particular the Zebra 2.0 Debian package uses
347 separate packages for each of them. This also means that zebra programs
348 such as zebraidx is no longer depending on Tcl/other..
350 Documentation updates, especially on query structure and syntax, SRU,
351 XSLT support, alvis filter module, and many added examples.
353 Improved logging of the 'zebrasrv' and 'zebraidx' binaries.
355 Improved debian package structure.
357 --- 1.3.16 2004/08/16