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