Changes
[idzebra-moved-to-github.git] / CHANGELOG
1
2 --- 1.2 2002/MM/DD
3
4 Implemented hits per term using USR:SearchResult-1.
5
6 New Zebra API. Locking system re-implemented.
7
8 --- 1.1.stable 2002/02/20
9
10 Rank weight can be controlled with attribute type 9. Default
11 value is 34. Recommended values between 1-36.
12
13 --- 1.1 2001/10/25
14
15 Updated for YAZ version 1.8.
16
17 Added support for termsets - a result set of terms matching
18 a given query. For @attr 8=<set> creates termset named <set>.
19
20 Added support for raw retrieval. Element Set Name R forces the
21 text filter which returns the record in its original form.
22
23 Added numerical sort - triggered by structure=numeric (4=109).
24
25 Remote record import using Z39.50 Extended Services and Segments.
26
27 Fixed bug where updating a database with user-defined attributes
28 could corrupt the register (bad storeKeys).
29
30 Multi-threaded version.
31
32 Fixed bug regarding proximity.
33
34 Documentation updates.
35
36 Fixed bug in record retrieval module that occured on 64-bit OSF 
37 architectures.
38
39 --- 1.0.1 2000/2/10
40
41 Fixed bug in makefile for WIN32.
42
43 Fixed bug in configure script - used bash-specific features.
44
45 --- 1.0 1999/12/10
46
47 The software was split in two products Zebra (for testing,
48 non-profit use) and the commercial product Z'mbol. Zebra no
49 longer supports INDEX UPDATES, i.e. zebraidx should be invoked only
50 once for each register. Refer to LICENSE.zebra for more info.
51
52 Added support for multiple records in one file for filter grs.sgml.
53
54 Changed record index structure. New layout is incompatible with
55 previous releases. Added setting "recordcompression" to control
56 compression of records. Possible values are "none" (no
57 compression) and bzip2 (compression using libbz2).
58
59 Added XML transfer syntax support for retrieval of structured records.
60 Schema in CompSpec is recognised in retrieval of structured records.
61
62 Changed Tcl record filter so that it attemps to read  <filt>.tflt. If
63 that fails, the filter reads the file <filt>.flt (regx style filter).
64
65 Implemented new Tcl record filter -  use grs.tcl.<filter> to enable it.
66 Zebra's configure script automatically attempts to locate Tcl. For
67 manual Tcl configuration use option --with-tclconfig=<path> to specify
68 where Tcl's library files are located.
69
70 Implemented "compression" of Dictionary and ISAM system. Dictionary
71 format HAS changed.
72
73 Added "tagsysno" directive to zebra.cfg to control under which tag the
74 system ID is placed. Use tagsysno: 0 to disable Zebra's system number
75 entirely.
76
77 Added "tagrank" as above.
78
79 Changed file naming scheme for register files from <name>.mf.<no> to
80 <name>-<no>.mf.
81
82 Implemented "position"-flag for register type (as defined in
83 default.idx). When set to zero no position (or seqence number) is
84 saved in register for each word occurrence, thus saving some register
85 space.
86
87 Implemented database mapping. Using mapdb one can specify a database
88 to be mapped to one or more physical databases. Usage:
89 mapdb <fromdb> <todb> ..
90
91 Added SOIF-filter. Thanks to Peter Valkenburg.
92
93 For the regx-filter "end element -record" may trigger a mark-of-record
94 if outer level is reached.
95
96 Tag sets may be typed in the reference to it. From the .abs-file the
97 "tagset" directive takes a third optional integer type for the tag set
98 referenced. From a .tag-file the "include" directive takes a third
99 optional type as well. The old "type" directive in the tag set itself
100 is still recognized but acts as the default type for the tag set.
101  
102 Zebra supports the specification of arbitrary attributes sets, schemas
103 and tag sets, because of the change in YAZ' OID management system.
104
105 Fixed bug in Sort that caused it NOT to use character mapping as it
106 should.
107
108 Zebra now uses GNU configure to generate Makefile(s).
109
110 Added un-optimised support for left and left/right truncation attributes.
111
112 Added support for relational operators on text when using RPN queries.
113
114 Added support for sort specifications in RPN queries. Type 7 specifies
115 'sort' where value 1=ascending, value 2=descending. The use attribute
116 specifies the field criteria as usual.  The term specifies priority
117 where 0=first, 1=second, ...
118
119 Changed the way use attributes are specified in the recordId
120 specification.
121
122 Maximum number of databases in one Zebra register increased.
123
124 New setting, databasePath, which specifies that first directory during
125 update traversal is the database name (instead of a fixed one).
126
127 New setting, explainDatabase, which specifies that databases are
128 EXPLAIN aware.
129
130 Modified Zebra so that it works with ASN.1 compiled code for YAZ.
131
132 Implemented EXPLAIN database maintenance. Zebra automatically
133 generate - and update CategoryList, TargetInfo, DatabaseInfo,
134 AttributeSetInfo and AttributeDetails records at this stage. The
135 records may be transferred as GRS-1, SUTRS or Explain.
136
137 Fixed register spec so that colon isn't treated as size separator
138 unless followed by [0-9+-] in order to allow DOS drive specifications.
139
140 Fixed two bugs in ISAMC system.
141
142 Changed the way Zebra keeps its maintenance information about attribute
143 sets, available attributes, etc.. Records in "SGML" notation using an
144 EXPLAIN schema is now used when appropriate.
145
146 Bug fix: Index didn't handle update/insert/delete of the same record
147 (i.e. same recordId) in one run (one invocation of zebraidx). Only the
148 first occurence of a record is considered.
149
150 Most searches now return correct number of hits.
151
152 New modular ranking system. Interested programmers are encouraged to
153 inspect rank1.c and improve the algorithm.
154
155 Bug fix: Lock files weren't removed as they should on NT.
156
157 Implemented Z39.50 Sort. Zebra's sort handler uses use attributes to
158 specify a "sort register". Refer to the gils sample records which refer
159 to index type "s" which is specified as "sort" in the default.idx file.
160 Each sort criteria can either be Ascending or Descending and at most
161 three sort elements can be specified.  
162
163 Bug fix: Character mapping didn't work for text files.
164
165 --- 1.0b1 1998/1/29
166
167 Simple ranked searches now return correct number of hits.
168
169 The test option (-s) only makes a read-lock on the index as well
170 as using read-only operations anywhere.
171
172 Moved towards generic character mapping. Configuration file default.idx
173 specifies character map files for register types w, p, u, etc.
174
175 Implemented "begin variant" for the sgml.regx - filter.
176
177 Fixed a few memory leaks.
178
179 Added support for C++, headers uses extern "C" for public definitions.
180
181 Bug fix: The show records facility (-s) only displayed information for
182 the first record in a file (and not for every record in the file).
183
184 Added option "-f <n>" to limit the logging of record operations. After
185 <n> records has been processed no logging is performed (unless errors
186 occur).
187
188 Bug fix: the compressed ISAM system didn't handle update operations
189 correctly.
190
191 Added setting, "maxResultSetSize", to hold the number of records to 
192 save in a result set.
193
194 Bug fix: Complete phrase did't work for search operations.
195
196 Bug fix: temporary result sets weren't deleted.
197
198 Reduced disk space for saved keys (storeKeys = 1).
199
200 Added optional, physical ANY (key replication)
201
202 Implemented proximity operator in search.
203
204 Bug fix: the path name buffers used by file match traversal routines
205 have been extended to support long file names.
206
207 New C(ompressed) ISAM system. To enable it, specify "isam: c" in the
208 configuration file. The resulting register without "storeKeys" is about
209 half the size, and the memory used by zebraidx during phase 2 (merge) is
210 reduced to a minimum.
211
212 Reworked the way Regexp-2 queries with error tolerance are handled and
213 specified. The documentation has been updated accordingly.
214
215 Bug fix: Zebrasrv didn't search correctly when queries contained masking
216 characters. This bug was introduced in 1.0a8.
217
218 Zebrasrv now tag records with the proper database name.
219
220 New settings, memMax and keyTmpDir.
221
222 Changed name of setting lockDir (previously called lockPath) and
223 setTmpDir (previously called tempSetPath).
224
225 Generalized and changed record type specifications. In short, there are:
226        text                plain SUTRS
227        grs.sgml            structured, "SGML-like" syntax
228        grs.regx.<filter>   structured, Regular expression filter
229        grs.marc.<abs>      Reads *MARC records in the ISO2709 format. <abs>
230                            is the name of an abstract syntax file.                           
231 Bug fix: Result sets weren't sorted in operations involving boolean
232 operations with "ranked" operands.
233
234 --- 1.0a8 1996/6/6
235
236 Added national character-handling subsystem.
237
238 Various fixes.
239
240 Small modifications to input filters and profiles.
241
242 Added support for SOIF syntax (with private OID).
243
244 --- 1.0a7 1996/5/16
245
246 Fixed buffer-size problem in indexing.
247
248 Added compression to temporary files for updating.
249
250 Added phrase registers.
251
252 Added dynamic mapping of search attribute to multiple termlists (ANY).
253
254 Scan support in multiple databases/registers.
255
256 Configuration settings are case-insensitive and single dash (-)
257 characters are ignored in comparisons.
258
259 The index processing ignores empty files - warning given.
260
261 New option to zebraidx (-V) displays version information.
262
263 --- 1.0a6 1996/2/24
264
265 Fixed problem in file-update system.
266
267 Fixed problem in shadow system; register was sometimes corrupted after
268 a commit operation.
269
270 --- 1.0a5 1996/2/10
271
272 Fixed problems in the ISAM subsystem. Caused difficulties when updating
273 existing registers.
274
275 Fixed small problem in SUTRS-filter. A newline was sometimes inserted before
276 the rank and record number.
277
278 Fixed bug in the isam subsystem - caused a malfunction when accessing
279 words which occurred more than 10000 times.
280
281 Distribution should now include YAZ (Z39.50 protocol stack) to simplify
282 installation.
283
284 Server can now run under inetd. Use option -i, and -w <directory> to
285 set working directory to desired location.
286
287 New zebraidx command: clean - removes temporary shadow files.
288
289 Fixed bug in ISAM system. Occurred rarely during register updates.
290
291 Logging during index merge phase is improved. The remaining running
292 time is estimated.
293
294 Temporary files generated by zebraidx are removed after each run.
295
296 Bug fix: Dictionary didn't handle 8-bit characters correctly; was obvious
297 when doing scan operations in dictionaries with European characters.
298
299 --- 1.0a4 1996/01/11
300
301 A whole slew of updates, to make the first publicized release. Get the doc
302 and check it out.
303
304 --- 1.0a3 1995/12/06
305
306 Memory-problems in ISAM fixed. More blocktypes added to the default setup
307 to increase performance on larger databases.
308
309 Various minor changes in data management system.
310
311 --- 1.0a2 1995/12/05
312
313 A couple of portability-problems resolved.
314
315 Changed some malloc() to xmalloc().
316
317 --- 1.0a1 1995/11/28
318
319 First release.