Version 2.0.53
[idzebra-moved-to-github.git] / NEWS
1 --- 2.0.53 2012/12/03
2
3 Improve hit estimate for or-searches (typically truncation)
4
5 Fix snippets for non-ICU / seqno not updated.
6
7 Replace key_compare_it with key_compare. This is because key_compare_it
8 throws exception on some CPUs with alignment constraints.
9
10 ICU: support @attr 5=2, @attr 5=3 in searches. (left truncation and
11 left+right truncation).
12
13 --- 2.0.52 2012/05/31
14
15 Fix problem in dictionary due to increase max size of term.
16
17 --- 2.0.51 2012/05/31
18
19 Fix buffer overrun for terms using ICU normalization.
20
21 Increase max size of indexing term from 256 to 512.
22
23 --- 2.0.50 2011/11/01
24
25 Fix a bug in zebra_begin_trans where Zebra could mark a transaction
26 complete when it actually failed. This could happen if register files
27 could not be opened.
28
29 --- 2.0.49 2011/09/02
30
31 Scan: allow preferred position > number + 1
32
33 Fix bug #4592: dict_scan misses
34
35 Fix snippets for complete fields, bug #4590. The
36 snippet_add_complete_fields (chr-system) now takes the indexing term
37 verbatim and makes that the display term.
38
39 --- 2.0.48 2011/06/28
40
41 Utility idebra-abs2dom part of distribution and deb+RPM packages.
42
43 Fix problem with scan and complete subfields (:p) . In some cases,
44 the display scan terms, would be invalid.
45
46 --- 2.0.47 2011/05/24
47
48 RPM: Store libraries in /usr/lib64 on 64-bit platforms.
49
50 Zebra honors SRU sortkeys. If used with YAZ 4.2.0 or later,
51 CQL sortby is honored as well.
52
53 Fix scan's handling of normalized terms. Some terms were incorrectly
54 ignored in the scan results, CJK terms in particular.
55
56 --- 2.0.46 2011/03/23
57
58 Fix bug in dictionary component of Zebra that could lead to
59 inconsistent register assert for large deleteions.
60
61 Improve estimate hits for phrase searches.
62
63 --- 2.0.45 2010/12/22
64
65 Add Debian package for Ubuntu maverick.
66
67 Update to newer Libxml2/Libxslt for Windows package.
68
69 Escape-sequences are disabled for RPN-queries with truncation=105/106.
70 These, unlike regular expressions, do not support \-sequences .
71
72 --- 2.0.44 2010/06/29
73
74 grs1: avoid term_len < 0 for .abs operator 'range'
75
76 ICU: fix use of un-init variable.
77
78 More reasonable approx hits for truncated searches.
79
80 Updates WRT Odr_int (YAZ 4).
81
82 --- 2.0.43 2009/11/05
83
84 Fix hits counts for searches when @attr 12=n is in use. This bug
85 was introduced in 2.0.40.
86
87 --- 2.0.42 2009/10/08
88
89 Proximity modifications. The optimized proximity now deals with more
90 cases, ie all prox of the form @prox 0 d 1 1,2,3 k 2 ..
91 That's exlusive==0, any distance, ordered (true), relation (<, =, <=),
92 known unit word.
93
94 Fix bug WRT inconsistent registers, bug #3062.
95
96 Fix install doc rule so it's compatible with Automake 1.11.
97
98 --- 2.0.41 2009/08/24
99
100 Fix typos and other errors in the documentation. Thanks to Galen
101 Charlton.
102
103 Fix DOM filter so that full record ID (z:id) if given is used verbatim
104 rather than truncated until first blank - in other words use memcpy
105 rather than sscanf. For PI fix record attributes parsing which was
106 completely broken.
107
108 --- 2.0.40 2009/07/13
109
110 Fixed problem in result set handling and segment handling.
111
112 --- 2.0.39 2009/07/09
113
114 Improved speed of record fetching by using a different block sizes
115 for recd{A,B}.
116
117 Added zlib-compression of recd-storage (record data). This is enabled
118 by using recordCompression: zlib in zebra.cfg.
119
120 Dictionary delete more agressive (dict_del_string).
121
122 --- 2.0.38 2009/06/19
123
124 Improved estimated hits for AND operation (bug #2907)
125
126 Fixed problem with register area growing after "drop DB". (bug #2913).
127
128 --- 2.0.37 2009/05/18
129
130 Example with marc21 is now installed and part of packages.
131
132 Fixed XSL for OAI example.
133
134 Fixed problem with generic proximity handling.
135
136 Added new ranking handler: rank-2. This is a combination of rank-1 and
137 static rank.. The staticrank is inverse (lowest value comes first, etc..).
138 rank-2 thus substracts that from score. This allows a system to specify
139 a "base" rank (=staticrank).
140
141 --- 2.0.36 2009/02/17
142
143 Added implementation-codes directive for .mar files.
144
145 Avoid error for missing recordId when zebraidx' option -s is in use.
146
147 Fixed problem with some disk blocks not beeing freed correctly when
148 'drop database' is used.
149
150 --- 2.0.34 2008/11/06
151
152 Facets can now be performed on sort registers (:s), not just regular indexes
153 (:w, :p) etc.. The performance appers to be much better than before.
154
155 Added a facility to embed metadata for records generated by the DOM XML
156 filter. The meta data step is triggered by a 'process-meta' section in the
157 retrieve section of the dom config, e.g.
158   <retrieve name="myelementset">
159     <xslt stylesheet="my-usual.xsl"/>
160     <process-meta/>
161   </retrieve>
162 The meta section substitutes metadata for all elements called 'meta' in
163 namespace http://indexdata.com/zebra-2.0 . The meta element must have
164 exactly one attribute, name, which specifies the special
165 element set name which is equivalent to the suffix to zebra:: for
166 non-embedded special retrievals. This allows snippets, facets etc to be
167 included.
168
169 Fixed bug #2202: incorrect sorting order when searching multiple databases.
170
171 --- 2.0.32 2008/06/06
172
173 Fixed OAI example.
174
175 --- 2.0.30 2008/05/14
176
177 Changed service name for Windows. Bug #978.
178
179 Fixed the alwaysmatches including _ALLRECORDS for ICU term indexing. Bug #2139.
180
181 --- 2.0.28 2008/04/03
182
183 Handle right-truncation for ICU normalized terms.
184
185 Updated OAI-PMH example.
186
187 --- 2.0.26 2008/01/28 
188
189 Fixes for searches on Chinese text.
190
191 Fixes for scan using ICU indexing terms.
192
193 --- 2.0.24 2008/01/18 
194
195 Fixed some memory violations for ICU enabled indexing that could be
196 triggered by long phrases.
197
198 Enable ICU on Windows. Thanks to Tumer Garip for makefile patches.
199
200 Fixed bug #2002: Zebra crashes during merge using ICU indexing.
201
202 --- 2.0.22 2007/12/20
203
204 Handle encoding errors for strings passed to ICU. (assert was
205 thrown earlier).
206
207 Added zebraidx command, adelete, which attempts to delete records.
208 It's like 'delete', but does not fail if a record does not exist.
209
210 --- 2.0.20 2007/12/19
211
212 Added experimental support for faceted results. This is implemented
213 as a special retrieval on a result set and is triggered using element
214 set name zebra::facet::f1:t1,f2,t2,.. which will return terms and
215 hit counts for field f1, type t1, field f2, type t2, .. The returned
216 data is packed as XML or SUTRS depending on record syntax.
217
218 Added support for Unicode-based indexing using ICU. This allows
219 locale specific scanning, sorting. The implementation is based on
220 the ICU utility part of YAZ 3.0.16 and later. See the manual as well
221 as the examples/marcxml for an example of the use of ICU.
222
223 --- 2.0.18 2007/09/19
224
225 Fixed bug with scan and staticrank enabled. Bug introduced in 2.0.16.
226
227 --- 2.0.16 2007/09/12
228
229 Scan now returns a displayTerm which closer to the original word/phrase
230 from original record.
231
232 Added snippet support. Element set name zebra::snippet will make
233 Zebra return an XML record with snippets (terms around matching terms).
234
235 Fixed bug #1142: Non-indexed but listed attributes issues diagnostic.
236
237 Fixed bug #1131: Missing value-of data in DOM filter.
238
239 Fixed bug #1049: zebra.cfg lines with leading space are ignored.
240
241 Fixed bug #1128: sortmax not honored.
242
243 Fixed bug #1121: Crash for some searches with customized string.chr.
244
245 --- 2.0.14 2007/05/09
246
247 Zebra uses the YAZ 3 API. Note that this changes the Zebra API
248 as well. The register layout is the same however. 
249
250 Fixed bug #1114: scan within set may use excessive CPU.
251
252 Fixed memory leak that occurred in scan.
253
254 Fixed memory leak that occurred for each deleted record.
255
256 Optimize updates of records where content is almost identical to previous
257 version of record. This makes updating of the internal explain database
258 faster too.
259
260 For RPN queries the index type (w,p,..) may be specified verbatim as
261 structure attribute with string value, e.g. @attr 4=w .
262
263 Changed record update API . It is now handled by function
264 zebra_record_update which does insert/replace/delete/update of records .
265 This function replaces zebra_record_{insert,delete} and
266 zebra_admin_exchange_record. The DOM filter uses this feature and the
267 @type attribute in record element specifies the action
268 insert/replace/delete/update.
269
270 Added support for multi-record updates (Bug #944). Based on patch from
271 Hans-Werner Hilse.
272
273 --- 2.0.12 2007/03/07
274
275 Fixed bug with indexing of attributes for rec.grs-class of filters.
276 If X-Path was enabled xelm a/@b would be ignored.
277
278 Fixed bug in register system where 'no more space' messages was produced
279 even though there was plenty of space.
280
281 Fixed bug #884: Entity declarations in input are lost at retrieval time.
282
283 Implemented new filter 'dom'. See test/xslt/dom-config*xml for examples. 
284 This, like alvis, performs indexing and retrieval using XSLT. But Unlike
285 alvis, it allows multiple XSLT steps to be performed and does ISO2709
286 reading. Bug #843.
287
288 --- 2.0.10 2007/01/24
289
290 Staticrank indexing is now an index register type defined in default.idx
291 via directive 'staticrank'. The 'staticrank' directive for grs is no longer
292 supported (was only implemented for Zebra 2.0.8).
293
294 For searches, allow truncmax value to be controlled with attribute 13.
295 If given, that overrides the value of 'truncmax'.
296
297 For truncations being limited (abort at truncmax terms), zebrasrv returns
298 SearchResponse with resultSetStatus=subset.
299
300 For estimated hit counts, zebrasrv returns SearchResponse with 
301 resultSetStatus=estimate.
302
303 --- 2.0.8 2007/01/15
304
305 For searches, do not truncate more than at most 'truncmax' terms in one
306 single term with right-truncation/regular attribute. By default, 'truncmax',
307 is 10000.
308
309 Bug #781: Easier tracking of result sets. We only do this when mkstemp
310 is available (most moderun Unixes supports this). The PID is included
311 in filename : tempdir/zrs_PID_XXXXXX.
312
313 Added support for specification of staticrank for grs-class of filters.
314 This is enabled by using 'staticrank indexname' in .abs. Contents of
315 indexname (elm ... indexname:w) is then used as value for staticrank.
316
317 Implemented sorting via the ISAMB system. To enable, use sortindex:i in
318 zebra.cfg.
319
320 Added special retrieval support for sort keys. These keys can also be
321 fetched using zebra::index:field:s   
322
323 Added support for specification of approximative limits for whole query.
324 This is specified as attribute type 12. Semantics is the same as
325 estimatehits in zebra.cfg.
326
327 --- 2.0.6 2006/11/28
328
329 Fixed bug #736: Updates gets slower.
330
331 Fixed bug #735: Delete fails to process rest of file after a record that
332 does not exist,
333
334 Added RPM package for Zebra 2.
335
336 Improved indexing speed for large documents.
337
338 Added support for special utility retrieval zebra:: which offers retrieval
339 of fundamental properties for record, such as indexed terms, raw record,
340 and system record ID.
341
342 --- 2.0.4 2006/10/16
343
344 Fixed bug #47: Commit needs to check for roll-back.
345
346 Fixed bug #672: Trailing characters in password are ignored
347
348 Added extra presence check for tcl.h, because some systems have
349 tclConfig.sh installed even though Tcl C headers are missing.
350
351 Optimized melm performance.
352
353 Do not use sync(2) during commit (but rely on sync'd individual files).
354
355 Fixed bug in ISAMB's utility function decode_ptr. With gcc -O3 on some
356 platforms the src argument was not updated. Problem was compiler
357 optimization due to strict aliasing rules.
358
359 --- 2.0.2 2006/09/22
360
361 Bug fixes: #638, #647, #657, #669.
362
363 Implement skip of 0 hit counts in scan. Useful for scan operations
364 limited by a result set.
365
366 Honor position attribute, i.e. allow first-in-field search. To
367 enable this, "firstinfield 1" must be given for an index in
368 default.idx. Enabled in tab/default.idx for w. At this stage
369 first-in field is supported for phrase/and-list/or-list searches
370
371 Common stream reader interface for record filters (struct ZebraRecStream).
372
373 Debian package fix: packages idzebra-2.0 + libidzebra-2.0-modules did
374 not depend properly on sub packages.
375
376 --- 2.0.0 2006/08/14
377
378 New record filter (record type) 'alvis' which uses XSLT transformations
379 to drive both indexing as well as retrieval. See example configuration in the
380 'example/alvis-oai' directory.
381
382 'isamb' is now the default ISAM system. In Zebra 1.3, the default ISAM was
383 'isamc'. The type used can still be configured with the 'isam' setting
384 in 'zebra.cfg'.
385
386 Index structure is now 64-bit based, also on 32 bit systems. 
387 There are no more 2GB register file limits.
388
389 Extended search result tuning. Approximate limit for terms can be enabled
390 and specified with attribute 11. The (approx or exact) hit count is returned
391 as part of the search response as in 1.3 series. The subqueryID of a search
392 term hit count can be specified with attribute 10.
393
394 Zebra uses string attributes for indexing internally. Using set+numeric
395 use attribute can still be used. This is a search-only conversion which
396 inspects '*.att'-set files as indicated using attset-directives in 'zebra.cfg'.
397 'attset' references are no longer required, but when used they deserve
398 as "check" for that the index names used are also present in '*.att'.
399
400 Zebra record filters (record type handlers) may be built as loadable
401 modules (.so's) on Unix. In particular the Zebra 2.0 Debian package uses
402 separate packages for each of them. This also means that zebra programs
403 such as zebraidx is no longer depending on Tcl/other..
404
405 Documentation updates, especially on query structure and syntax, SRU, 
406 XSLT support, alvis filter module, and many added examples.
407
408 Improved logging of the 'zebrasrv' and 'zebraidx' binaries.
409
410 Improved debian package structure.
411
412 --- 1.3.16 2004/08/16