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