1 The software was split in two products Zebra (for testing,
2 non-profit use) and the commercial product Z'mbol. Zebra no
3 longer supports INDEX UPDATES, i.e. zebraidx should be invoked only
4 once for each register. Refer to LICENSE.zebra for more info.
6 Added support for multiple records in one file for filter grs.sgml.
8 Changed record index structure. New layout is incompatible with
9 previous releases. Added setting "recordcompression" to control
10 compression of records. Possible values are "none" (no
11 compression) and bzip2 (compression using libbz2).
13 Added XML transfer syntax support for retrieval of structured records.
14 Schema in CompSpec is recognised in retrieval of structured records.
16 Changed Tcl record filter so that it attemps to read <filt>.tflt. If
17 that fails, the filter reads the file <filt>.flt (regx style filter).
19 Implemented new Tcl record filter - use grs.tcl.<filter> to enable it.
20 Zebra's configure script automatically attempts to locate Tcl. For
21 manual Tcl configuration use option --with-tclconfig=<path> to specify
22 where Tcl's library files are located.
24 Implemented "compression" of Dictionary and ISAM system. Dictionary
27 Added "tagsysno" directive to zebra.cfg to control under which tag the
28 system ID is placed. Use tagsysno: 0 to disable Zebra's system number
31 Added "tagrank" as above.
33 Changed file naming scheme for register files from <name>.mf.<no> to
36 Implemented "position"-flag for register type (as defined in
37 default.idx). When set to zero no position (or seqence number) is
38 saved in register for each word occurrence, thus saving some register
41 Implemented database mapping. Using mapdb one can specify a database
42 to be mapped to one or more physical databases. Usage:
43 mapdb <fromdb> <todb> ..
45 Added SOIF-filter. Thanks to Peter Valkenburg.
47 For the regx-filter "end element -record" may trigger a mark-of-record
48 if outer level is reached.
50 Tag sets may be typed in the reference to it. From the .abs-file the
51 "tagset" directive takes a third optional integer type for the tag set
52 referenced. From a .tag-file the "include" directive takes a third
53 optional type as well. The old "type" directive in the tag set itself
54 is still recognized but acts as the default type for the tag set.
56 Zebra supports the specification of arbitrary attributes sets, schemas
57 and tag sets, because of the change in YAZ' OID management system.
59 Fixed bug in Sort that caused it NOT to use character mapping as it
62 Zebra now uses GNU configure to generate Makefile(s).
64 Added un-optimised support for left and left/right truncation attributes.
66 Added support for relational operators on text when using RPN queries.
68 Added support for sort specifications in RPN queries. Type 7 specifies
69 'sort' where value 1=ascending, value 2=descending. The use attribute
70 specifies the field criteria as usual. The term specifies priority
71 where 0=first, 1=second, ...
73 Changed the way use attributes are specified in the recordId
76 Maximum number of databases in one Zebra register increased.
78 New setting, databasePath, which specifies that first directory during
79 update traversal is the database name (instead of a fixed one).
81 New setting, explainDatabase, which specifies that databases are
84 Modified Zebra so that it works with ASN.1 compiled code for YAZ.
86 Implemented EXPLAIN database maintenance. Zebra automatically
87 generate - and update CategoryList, TargetInfo, DatabaseInfo,
88 AttributeSetInfo and AttributeDetails records at this stage. The
89 records may be transferred as GRS-1, SUTRS or Explain.
91 Fixed register spec so that colon isn't treated as size separator
92 unless followed by [0-9+-] in order to allow DOS drive specifications.
94 Fixed two bugs in ISAMC system.
96 Changed the way Zebra keeps its maintenance information about attribute
97 sets, available attributes, etc.. Records in "SGML" notation using an
98 EXPLAIN schema is now used when appropriate.
100 Bug fix: Index didn't handle update/insert/delete of the same record
101 (i.e. same recordId) in one run (one invocation of zebraidx). Only the
102 first occurence of a record is considered.
104 Most searches now return correct number of hits.
106 New modular ranking system. Interested programmers are encouraged to
107 inspect rank1.c and improve the algorithm.
109 Bug fix: Lock files weren't removed as they should on NT.
111 Implemented Z39.50 Sort. Zebra's sort handler uses use attributes to
112 specify a "sort register". Refer to the gils sample records which refer
113 to index type "s" which is specified as "sort" in the default.idx file.
114 Each sort criteria can either be Ascending or Descending and at most
115 three sort elements can be specified.
117 Bug fix: Character mapping didn't work for text files.
121 Simple ranked searches now return correct number of hits.
123 The test option (-s) only makes a read-lock on the index as well
124 as using read-only operations anywhere.
126 Moved towards generic character mapping. Configuration file default.idx
127 specifies character map files for register types w, p, u, etc.
129 Implemented "begin variant" for the sgml.regx - filter.
131 Fixed a few memory leaks.
133 Added support for C++, headers uses extern "C" for public definitions.
135 Bug fix: The show records facility (-s) only displayed information for
136 the first record in a file (and not for every record in the file).
138 Added option "-f <n>" to limit the logging of record operations. After
139 <n> records has been processed no logging is performed (unless errors
142 Bug fix: the compressed ISAM system didn't handle update operations
145 Added setting, "maxResultSetSize", to hold the number of records to
146 save in a result set.
148 Bug fix: Complete phrase did't work for search operations.
150 Bug fix: temporary result sets weren't deleted.
152 Reduced disk space for saved keys (storeKeys = 1).
154 Added optional, physical ANY (key replication)
156 Implemented proximity operator in search.
158 Bug fix: the path name buffers used by file match traversal routines
159 have been extended to support long file names.
161 New C(ompressed) ISAM system. To enable it, specify "isam: c" in the
162 configuration file. The resulting register without "storeKeys" is about
163 half the size, and the memory used by zebraidx during phase 2 (merge) is
164 reduced to a minimum.
166 Reworked the way Regexp-2 queries with error tolerance are handled and
167 specified. The documentation has been updated accordingly.
169 Bug fix: Zebrasrv didn't search correctly when queries contained masking
170 characters. This bug was introduced in 1.0a8.
172 Zebrasrv now tag records with the proper database name.
174 New settings, memMax and keyTmpDir.
176 Changed name of setting lockDir (previously called lockPath) and
177 setTmpDir (previously called tempSetPath).
179 Generalized and changed record type specifications. In short, there are:
181 grs.sgml structured, "SGML-like" syntax
182 grs.regx.<filter> structured, Regular expression filter
183 grs.marc.<abs> Reads *MARC records in the ISO2709 format. <abs>
184 is the name of an abstract syntax file.
185 Bug fix: Result sets weren't sorted in operations involving boolean
186 operations with "ranked" operands.
190 Added national character-handling subsystem.
194 Small modifications to input filters and profiles.
196 Added support for SOIF syntax (with private OID).
200 Fixed buffer-size problem in indexing.
202 Added compression to temporary files for updating.
204 Added phrase registers.
206 Added dynamic mapping of search attribute to multiple termlists (ANY).
208 Scan support in multiple databases/registers.
210 Configuration settings are case-insensitive and single dash (-)
211 characters are ignored in comparisons.
213 The index processing ignores empty files - warning given.
215 New option to zebraidx (-V) displays version information.
219 Fixed problem in file-update system.
221 Fixed problem in shadow system; register was sometimes corrupted after
226 Fixed problems in the ISAM subsystem. Caused difficulties when updating
229 Fixed small problem in SUTRS-filter. A newline was sometimes inserted before
230 the rank and record number.
232 Fixed bug in the isam subsystem - caused a malfunction when accessing
233 words which occurred more than 10000 times.
235 Distribution should now include YAZ (Z39.50 protocol stack) to simplify
238 Server can now run under inetd. Use option -i, and -w <directory> to
239 set working directory to desired location.
241 New zebraidx command: clean - removes temporary shadow files.
243 Fixed bug in ISAM system. Occurred rarely during register updates.
245 Logging during index merge phase is improved. The remaining running
248 Temporary files generated by zebraidx are removed after each run.
250 Bug fix: Dictionary didn't handle 8-bit characters correctly; was obvious
251 when doing scan operations in dictionaries with European characters.
255 A whole slew of updates, to make the first publicized release. Get the doc
260 Memory-problems in ISAM fixed. More blocktypes added to the default setup
261 to increase performance on larger databases.
263 Various minor changes in data management system.
267 A couple of portability-problems resolved.
269 Changed some malloc() to xmalloc().