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