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