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