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