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