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