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