3.0 --> 3.5 - added "-f filename" option to glimpse: it allows you to restrict the search to only those files whose names appear in "filename". - fixed the agrep bug where -n was not working with ISO characters. - Added -t to glimpseindex that sorts .glimpse_filenames by decreasing order of modify time (st_mtime in stat structure); - Added -j option to glimpse to print time of file along with its name; - Added "-Y days" option to print files that were modified "days" before the index was created. - Added support for arbitrary characters in filenames (e.g. >, <, space, &...) 2.1 ---> 3.0 - added a data structure (in .glimpse_turbo) that speeds up queries using -w and -i considerably for large indexes. It is meant mostly for servers using glimpse (e.g., Harvest and glimpseHTTP servers), but it benefits everyone. With this "turbo" option, typical queries take less than a second even for very large indexes. This was so successful that we made it the default rather than an option (it used to be -T in some earlier versions). If the .glimpse_turbo file is deleted, glimpse will still work properly (but glimpseindex -f and -a require it). - incremental indexing is now fully supported (even for -b). Deletion from the index is supported. glimpseindex -d filename(s) completely deletes the files from the index; glimpseindex -D filename(s) deletes the files only from the file list. - the index has been improved in several ways (transparently except for speed and space). As a result, indices built with earlier versions of glimpseindex will not work with 3.0 -- you must reindex again. - several options were added to glimpseindex and glimpse: glimpseindex -E indexes all file without attempting to run the filetype filtering (but excluded files or suffixes still apply). glimpse -Q extends -N in a nice way giving much more information about the matches in the index. glimpse -L has more options: -L x | x:y | x:y:z if one number is given, it is a limit on the total number of matches. Glimpse outputs only the first x matches. If two numbers are given (x:y), then y is an added limit on the total number of files. If three numbers are given (x:y:z), then z is an added limit on the number of matches per file. If any of the x, y, or z is set to 0, it means to ignore it (in other words 0 = infinity in this case); for example, -L 0:10 will output all matches to the first 10 files that contain a match. (There are also some undocumented-as-yet options. We are running out of letters. Only -j and -Y are not used!) - glimpse 3.0 still has a LOT of makefiles (one per architecture / OS). We hope to include autoconf support for glimpse in the future: but these should be sufficient for most purposes. - several bugs were fixed, and the whole package is now more portable. Binaries and make files for the following platforms are now available: AIX-3.2.5, HPPA, HPMC68K, IBM-RS6000, Linux, SGI. (Binaries and make files for SUNOS4.1.1, SUNOS4.1.3, SOLARIS 5.3 and DEC OSF/1 (ALPHA) are avaialable as usual.) See README.install for more details. 2.0 ---> 2.1 - Added the facility to run a glimpse server which reads the index into memory and stays in the background. Regular glimpse then submits queries to the server and echoes the replies. This can improve performance if the index is large since it doesn't have to be read-in for each query. Glimpse can contact (local or remote) servers using the -C, -J and -K options (see the man-pages for more details). - Optimized the performance of glimpse for very large structured indexes: this is mostly relevant in Harvest.1.1. Such indexes now take half the space, the indexing can be done in half the time, and structured queries are faster by a factor of 2 to 5! - Made code more portable: the code now runs on the following machines and operating systems: SUNOS ALPHA SOLARIS HPUX AIX LINUX - Added much improved man pages for glimpse, glimpseserver and glimpseindex. - Many bugs were fixed based on the reports received for glimpse.2.0 and Harvest.1.0. The code is now more robust, portable and readable. 1.1 ---> 2.0 - A "byte-level" indexing (glimpseindex -b) has been added, which mimics regular inverted indexes in that the exact location of each occurrence of each word (except for a stop list of common words) is indexed. The index itself is still searched with agrep so all options are still available. This option speeds up the search, sometimes considerably. - Added customizable filtering support -z to glimpseindex and glimpse. glimpseindex -z consults the file .glimpse_filters and performs the programs listed there for each match. The best example is compress/decompress. If .glimpse_filters include the line *.Z uncompress < then before indexing any file that matches the pattern "*.Z" (same syntax as the one for .glimpse_exclude) the command listed is executed first (assuming input is from stdin, which is why uncompress needs <) and its output (assuming it goes to stdout) is indexed. The file itself is not changed (i.e., it stays compressed). Then if glimpse -z is used, the same program is used on these files on the fly. Any program can be used (we run 'exec'). For example, one can filter out parts of files that should not be indexed. Note that this can slow down the search because the filters need to be run before files are searched. - There is a new compression package that allows glimpse (and agrep) to search DIRECTLY in compressed files. A new compression routine, called cast, is included. Also, glimpseindex can automatically index files compressed with cast. More details on this will be published later. - Queries can now include arbitrary combinations of ANDs, ORs, NOTs. - Added option -F in cast, uncast, buildcast and glimpseindex to take filenames from stdin. - Added a -L x option to glimpse to output only the first x matches. - User can explicitly specify whether exclude or include has higher priority (the default is to prefer exclude, glimpseindex -i gives priority to include). For example, you can put * in .glimpse_exclude and then explicitly say which files you want to include. - Added a -S x option to glimpseindex to allow the user to adjust the size of the stop-list under -o and -b. - Added a -W option to change the scope of Boolean queries to be the whole file. - Added support for structured queries in glimpse/glimpseindex (This was done for the Harvest project.) - Many small corrections were made based on the bug-reports received for version 1.1 and the beta version of 2.0. 1.0 ---> 1.1 - Names of files/directories whose ABSOLUTE path names are given as input to glimpseindex are indexed "as they are". If their RELATIVE path names are given, THEN glimpseindex tries to construct their absolute path names. Path names are still absolute: they are NOT relative to where the index is stored. - A new faster mgrep() (multi pattern search) has been added to agrep. - Boolean search by glimpse is now faster: it uses the new mgrep routine and the limit on the number of simple patterns separated by boolean operations is no longer 32 (it is 256 = maximum pattern length). - The maximum number of files which can be indexed at one go has been increased from 16000 to around 65000. - Many small corrections were made based on the bug-reports received for version 1.0.