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