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