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