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