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