Mon Jul 23 14:34:05 2001 Loic Dachary * mifluz release 0.23.0 * search/WordTree.cc (WalkNext): Fix bug that occured when using bottom_document. When a realm exists, limit for the bottom document should loop over the possible values of the realm. Fri Jul 20 10:52:32 2001 Loic Dachary * search/WordResults.cc: implement result cache for uniq server results. Fix a bug in handling of uniq server that duplicated servers. Thu Jul 19 19:06:40 2001 Loic Dachary * man/mifluzsearch.1: add real documentation * mifluz/unac.c: synchronize with unac-1.5.0 * configure.in: use AM_ICONV Mon Jul 16 16:01:37 2001 Loic Dachary * test/Makefile.am: Add missing files in EXTRA_DIST (cache*) * mifluz/HtRandom.h,mifluz/WordCursor.cc: remove because obsolete * mifluz.spec: removed from the CVS tree. Fri Jun 29 15:11:55 2001 Loic Dachary * mifluz release 0.22.0 * htdb/htdb_load.cc (load): only free if pointer is not null. * search/WordTree.cc (WalkNext): Clear realm before WalkRewind when switching permutations. Wed Jun 27 17:20:24 2001 Loic Dachary * search/WordTree.cc (SearchCursorNot): When a realm exists excluded cursors have to match whatever the realm is. Fri Jun 22 19:30:09 2001 Loic Dachary * htdb/htdb_dump.cc: Add -S option to specify page size * search/WordSearch.cc: Kill most of the complexity related to context saving/restoring. There is only one context saved in the result list now and it is transparent to the caller. * search/WordMatch.h: Add WordMatches, array of WordMatch objects * search/WordTree.cc (CursorsObeyProximity): remove function because the WordResult list does the job. * search/WordTree.cc (WordTreeLiteral): tracking the current_document becomes obsolete because of the WordResult list. * search/WordResults.{cc,h}: Search result cache in a Berkeley DB file. It is used by the search to find out which documents were seen. Thu Jun 21 11:30:37 2001 Loic Dachary * search/mifluzsearch.cc (dosearch): remove the -d option because the absolute position is now saved in the context. * search/WordSearch.cc (ContextRestore): save the absolute position of the first document in the context. * search/mifluzsearch.cc (main): remove the -a option, the search is now always bounded by default. * Makefile.am (install-data-local): Create mifluz cache directory Wed Jun 20 12:55:22 2001 Loic Dachary * mifluz/WordCursor.h (class WordCursor): Add exclude_list member Tue Jun 19 16:48:08 2001 Loic Dachary * mifluz/WordKey.h (class WordKey): Add Cmp method Mon Jun 18 10:14:49 2001 Loic Dachary * mifluz/WordCursorOne.cc (Seek): reset high bits to zero Thu May 03 11:31:43 2001 Loic Dachary * search/WordKeySemantic.cc (LocationSet): When setting location keep everything up to the location position, included. * search/WordKeySemantic.h: Add BeginKey method Wed May 02 12:30:46 2001 Loic Dachary * search/WordSearch.h: free expr member only if non null. * search/WordTree.cc (TopLevelOptimize): Add function that encapsulate search tree optimizations, originaly in WordSearch::Search function. * search/search_parser.yxx: If single word, do not wrap it in OPTIONAL node. This speeds up things and remove the need to generalize the OPTIONAL node to handle single words gracefully. * search/t_search: create test environment for mifluzsearch * test/test_prepare (test_prog): Remove skiptest_db copy that should not be there. Mon Apr 02 17:47:37 2001 Loic Dachary * search/WordKeySemantic.cc: handle key fields that are before the document specification. Trigger error if the list of fields is not ordered. Tue Feb 27 10:49:34 2001 Loic Dachary * search/WordTree.h (Near): If proximity is set, Prepare will not override it. * search/search_parser.yxx: Set proximity to 1 for literals. Sat Feb 03 10:01:31 2001 Loic Dachary * htdb/htdb_{dump,load,stat}.cc: add getopt Mon Jan 22 10:54:21 2001 root * search/mifluzsearch.cc (dosearch): Fix typo, print time: instead of wrong count: Fri Jan 12 19:40:24 2001 Loic Dachary * mifluz/unac.c: synchronize with unac-1.4.0 Tue Jan 09 15:14:50 2001 Loic Dachary * search/WordTree.cc (StripNonExistent): notify suppression of mandatory portions so that mandatory words that do not exist in index are not discarded. Mon Jan 08 12:52:06 2001 Loic Dachary * man/mifluzdict.1: Add upon request by Igor Genibel Mon Jan 08 12:45:29 2001 Loic Dachary * mifluz/WordKey.cc (Compare): return -1 or 1 instead of a - b because the return value of compare is int and comparing two unsigned may lead to a value with bit 32 set and therefore wrong comparison. Bug reported by Andreas Krebs . * test/word.cc (dokey): Add tests for 32 bits key values. * test/word.cc (dolist): Use values with bit 32 set for docid to test that mifluz is 32 bit clean. Sun Jan 07 09:43:43 2001 Loic Dachary * mifluz/unac.c: sync with unac-1.3.0 Sat Dec 23 13:02:17 2000 Loic Dachary * mifluz release 0.21.0 * mifluz.spec.in: add Wed Dec 20 13:29:48 2000 Loic Dachary * mifluz/unac.{c,h}: fix endian bug Tue Dec 19 17:50:28 2000 Loic Dachary * search/mifluzsearch.cc (dosearch): test if -B provided when needed. Fri Nov 10 10:43:00 2000 root * mifluz/WordType.cc (WordType): set locale from wordlist_locale new configuration attribute. Thu Nov 09 08:45:31 2000 Loic Dachary * search/WordTree.cc (WalkNext): improve readability of -v output. * search/WordTree.h (WORD_SEARCH_DEFAULT_PROXIMITY): default proximity now -1 instead of 1. * search/mifluzsearch.cc (dosearch): output the list of words extracted from the query in tag. Wed Nov 08 09:01:01 2000 Loic Dachary * clib/{clib.h,strncoll.c,strcasestr.c}: Sun C compiler fixes from Ron Katriel . Tue Nov 07 10:07:32 2000 Loic Dachary * search/mifluzsearch.cc (dosearch): Add -d which adds to the value. Always print the value. * search/mifluzsearch.cc (dosearch): Add elapsed time count in milli seconds . * search/mifluzsearch.cc (dosearch): Add -R option that calculates -l and -h. * search/mifluzsearch.cc (dosearch): Activate the -S option and add the wordlist_wordkey_uniq parameter. Mon Nov 06 17:04:08 2000 Loic Dachary * search/mifluzsearch.cc (main): if in CGI mode -H -x implied. Ignore name=value where value is the empty string. Thu Nov 02 16:00:53 2000 Loic Dachary * configure.in,acinclude.m4 (CHECK_UNAC,CHECK_ICONV): add inclusion of unac and iconv library. * README: add comment for alternate iconv libraries. Thu Nov 02 17:22:28 2000 Loic Dachary * acinclude.m4 (AC_COMPILE_WARNINGS): do not use the same shell variable to store the warning options for C and C++. Wed Nov 01 17:38:12 2000 Loic Dachary * search/mifluzsearch.cc (dosearch): Add -O option so that search uses WordTreeOr instead of WordTreeOptional. Less relevant results but maybe usefull in some contexts as suggested by Rune Kleveland . Wed Nov 01 02:24:47 2000 root * test/delete.cc (main): simplify the test/delete.cc. It had so many lines with inlined code that gcc-2.95.2 got lost. Tue Oct 31 18:53:09 2000 Loic Dachary * search/WordTree.cc (Count): fix bugous count evaluation. Mon Oct 30 19:00:06 2000 Loic Dachary * search/mifluzsearch.cc (dosearch): better XML output. * search/search_parser.yxx (search_lex): the buffer is not null terminated and the lexer must check boundaries at all times. * search/WordExcludeMask.h: Maxi is value of ignore_maxi member and not the addition of ignore_maxi and maxi. * search/mifluzsearch.cc (dosearch): fix typo maximum_word_length is 25 not 2. Fri Oct 27 17:25:06 2000 Loic Dachary * search/search_parser.yxx: replace or/not by op_or/op_not because gcc-2.96 does not like it. Fri Oct 27 13:42:39 2000 Loic Dachary * mifluz/{WordContext.h,mifluz.h}: fix /etc/mifluz.conf -> /usr/etc/mifluz.conf. * mifluz/WordContext.cc (ConfigFile): do not specify static, this is incorrect and gcc-2.96 barks on it. * mifluz.spec: add sysconfdir Thu Oct 26 13:21:04 2000 Loic Dachary * mifluz release 0.20.0 * mifluz/WordContext.h (class WordContext): Add ConfigFile method. * man/man_generate: add --format=conf to generate ../mifluz.conf file. * Makefile.am: install mifluz.conf in /etc * mifluz/WordListOne.cc (Word): report canonicalization failure only if looking for an existing word in the index. * mifluz/WordType.cc (WordType): add wordlist_lowercase configuration parameter. Document the class. Add WORD_NORMALIZE_NUMBER case in Normalize. Add wordlist_truncate configuration parameter. Change the semantic of WORD_NORMALIZE_NOTOK and replaced WORD_NORMALIZE_GOOD by WORD_NORMALIZE_OK. Wed Oct 25 14:28:10 2000 Loic Dachary * mifluz/WordDBCache.h: file size stored in off_t to prevent signed wrap. Wed Oct 25 13:58:21 2000 Loic Dachary * db/db.h.in: add app_private field * mifluz/WordContext.cc: fill the dbenv app_private field * db/bt_cursor.c: fill the local key.app_private field from dbenv->app_private field. When deleting entries, this field is null and the comparison function will fail if it depends on it. This hack is not ideal since it only allows one app_private for a given db_env. However, this is general enough for mifluz purpose, even though it does not solve the general problem for Berkeley DB. * mifluz/WordKey.cc (word_db_cmp): check for null context. * test/{t_delete,delete.cc}: Add test for detecting deletion problems, from a contribution of Rune Kleveland . Tue Oct 24 18:25:34 2000 Loic Dachary * mifluz/WordDBCache.cc (AddFile): re-calculate the total size of the cache from the actual files instead of estimating it in the wrong way (number of files * maximum size of new cache file). * test/dbbench.cc (main): restore de default value for page_size to 0. Was set to 4096 and the code was not modified accordingly, therefore 4096 was always the page size used, no matter what page size was found in the configuration file. Tue Oct 24 15:59:12 2000 Loic Dachary * search: Add mifluzsearch application, based on test/search.cc that can be used on the command line or as a CGI. Mon Oct 23 12:08:58 2000 Loic Dachary * Makefile.config: update comments on compiling with debuging and profiling. Fri Oct 20 14:06:37 2000 Helios de Creisquer * mifluz/WordList.h: Better documentation for temporary file control. Thu Oct 19 16:01:53 2000 Loic Dachary * mifluz/WordType.cc (WordType): default maximum_word_length = 25 instead of 12. Fri Oct 19 16:55:18 2000 Loic Dachary * mifluz/{WordList,WordBitCompress}.h: Add includes for porting to RedHat-7.0/gcc-2.96 Fri Oct 13 16:55:18 2000 Loic Dachary * mifluz.spec: create * Makefile.am: Add rpm generation target Mon Oct 02 08:08:48 2000 Loic Dachary * mifluz/Makefile.am: Add unac.[ch] Fri Sep 22 01:05:09 2000 Loic Dachary * htdb/mifluz{dict,load,dump}.cc: add unistd.h for getopt in freebsd. Fri Sep 15 16:58:06 2000 Loic Dachary * mifluz/lib.h: remove declarations of my*strcase* Tue Aug 29 09:44:42 2000 Loic Dachary * mifluz/{Configuration,String}.cc: change mystrcasecmp into strcasecmp. * mifluz/strcasecmp.cc: split, one file per function and move to clib directory. Kill strdup C++ definition. Fri Jul 21 15:49:34 2000 Loic Dachary * htdb/htdb_{stat,load,dump}.cc (main): fix wordkey_description with Word 24 instead of Word. Thu Jul 20 18:27:11 2000 Loic Dachary * mifluz release 0.19.0 * mifluz/mifluz.h: replace htconfig.h with config.h * mifluz/WordListOne.cc (Override): remove Insert method, only keep Override (formerly Put). Insert/Override distinction was made for performance purpose and check purpose. Running Exists + Override is not longer than running Put(.., DB_NOOVERWRITE). And check is not used because too slow in average. Thu Jul 20 12:18:51 2000 Loic Dachary * test/word.cc (dolist): Add regression test for the WordList::Prefix method. * mifluz/WordList.h (method WordList::Word): Add exists argument to allow creation of a WordReference object without assignement of a word id if the word is not already in the dictionary. * mifluz/WordListOne.cc (Prefix): Fix bugous implementation of prefix search using the CursorPrefix and NextPrefix methods of WordDict. * test/t_dict: Add regression test for prefix dictionary dump * htdb/mifluzdict.cc: Add -p prefix option to dump dictionary entries starting with prefix. Wed Jul 19 16:52:30 2000 Loic Dachary * mifluz/WordKey.cc (Prefix): fix bugous conditional nesting * mifluz/Word{Dict,Cursor,Reference}.h: Add SWIG friendly conditionals * db/Makefile.am (pkginclude_HEADERS): Install db.h * Makefile.am (pkginclude_HEADERS): Install config.h Wed Jul 19 16:04:22 2000 Loic Dachary * acinclude.m4 (CHECK_ZLIB,*MANDATORY*): upgrade and add AC_MANDATORY_* macro definitions. Mon Jul 17 16:29:56 2000 Loic Dachary * mifluz release 0.18.0 * AUTHORS, NEWS: add files * mifluz/{WordList.h,WordCursor.h}: remove Noccurrence method Mon Jul 17 15:24:24 2000 Loic Dachary * man/*.3,mifluz/*.h: update documentation Fri Jun 30 10:29:42 2000 Loic Dachary * mifluz/WordMonitor.h: Monitor does not use signals anymore. Thu Jun 29 14:54:56 2000 Loic Dachary * configure.in: Upgrade configuration instructions from Berkeley DB 3.1.14 Thu Jun 29 13:51:21 2000 Loic Dachary * db/mp_cmpr.c: Duplicate meta information so that a first page number == 1 is able to find it without knowing the pagesize. Wed Jun 28 18:39:09 2000 Loic Dachary * db/*: upgrade to Berkeley DB 3.1.14 Mon Jun 26 18:19:08 2000 Loic Dachary * test/t_env: Concurrent process tests (with/without compression). Mon Jun 26 11:57:43 2000 Loic Dachary * configure.in: Merge with db/configure.in so that there is only one configure.in Mon Jun 26 09:24:57 2000 Loic Dachary * configure.in: Add MUTEX detection, as in the subdirectory db so that structures have the same size. Fri Jun 23 13:26:28 2000 Loic Dachary * mifluz/WordMeta.h: Implement lock methods Lock/Unlock. * mifluz/WordDBCache.h: Use tmp subdatabase to store temporary file names and shared serial number allocator for numbering them. Fri Jun 23 09:16:33 2000 Loic Dachary * mifluz/WordDead.{cc,h} : Create list of deleted entries that are ignored during the search. * mifluz/WordCursorOne.cc : Ignore documents that match an entry in the Dead() list. Thu Jun 22 18:30:15 2000 Loic Dachary * mifluz/WordKey.cc: Change the structure of the inverted index. Now contains only numbers. The word is replaced by the word identifier allocated by the dictionary. Wed Jun 21 10:57:01 2000 Loic Dachary * mifluz release 0.17.0 * doc/Makefile.am: simplify dramatically, uses makeinfo for every documentation format. * mifluz/WordMeta.{h,cc}: Create class to store max serial number for WordDict. Tue Jun 20 12:05:53 2000 Loic Dachary * mifluz/WordDict.{h,cc}: Create class to manipulate the dictionarry. * mifluz/WordListOne.{h,cc}: Use WordDict instead of direct Berkeley DB handle. Tue Jun 20 09:47:57 2000 Loic Dachary * mifluz/WordListOne.cc: Use subdb dict to store the dictionnary. Mon Jun 19 18:19:19 2000 Loic Dachary * db/mp_cmpr.c: *_weakcmpr is not used anymore. The file now starts at page 1 instead of 0 and page 0 is used for compression meta information. It contains a pointer to the first free page and each free page contains a link to the next. Sat Jun 17 10:33:08 2000 Loic Dachary * db/db.c (CDB___db_subdb_remove): Add CMPR flag passing from dbenv CMPR flag. Wed Jun 14 11:02:14 2000 Loic Dachary * mifluz/WordListOne.cc: Use subdatabases for index file. * db/mp_cmpr.c: Special handling of META pages, function to read meta page when DB* is not completely set. Necessary for subdatabases. Tue Jun 13 17:58:29 2000 Loic Dachary * mifluz/WordDBCompress.cc (WordDBCompress): first byte of every compressed page is the DB->type member instead of custom bit field. * db/db_page.h (TAGS_SET): user defined value tags (field of DB) may have values withing TAGS_MASK limits and is coded in each page type field. Sat Jun 10 18:07:03 2000 Loic Dachary * test/search.cc (SearchLoopBounded): implement bounded search that returns the last valid interval even if the bottom index is past the last possible search. * test/t_search: regression tests for bounded search. * test/search.cc (Search): implement total match count estimation. Fri Jun 09 20:25:00 2000 Loic Dachary * mifluz/WordRecord.h (class WordRecord): Encode the type of the record as a char at the end of the packed string. Unpacking reset the type from the packed string instead of relying on the implicit default type. Allows compression to find the record type without guessing from the key. * mifluz/*Vector* : get rid of half implemented vector classes * mifluz/WordDBCompress.{cc,h}: re-implement, mainly for readability and consistency in order to fix a suble bug that corrupted some internal pages of the index. The algorithmic did not change. * mifluz/WordDBPage.{cc,h}: kill * mifluz/WordKey.cc: use BER compression instead of bit packing. Wed Jun 07 10:53:53 2000 Loic Dachary * db/db.c (CDB___db_dbenv_setup): open mode is 0666 instead of 0 otherwise the weakcmpr file is not open with the proper mode. Wed Jun 07 02:05:23 2000 Loic Dachary * mifluz/WordRecord.cc (SetList): use Remove(0) instead of Remove(field) to prevent leakage. * mifluz/WordKey.cc (SetList): use Get_First() + Remove(0) to allow WordRecord to eat the rest of the fields. Tue Jun 06 18:53:35 2000 Loic Dachary * mifluz/WordRecordInfo.cc (WordRecordInfo): Add type WORD_RECORD_STR and remove type WORD_RECORD_STATS (replaced by WORD_RECORD_DATA). * test/cmpr.cc: regression tests for WordBitStream and WordBitCompress. * mifluz/WordBitCompress.h: rename and cleanup BitStream -> WordBitStream + Compressor -> WordBitCompress. Do not use HtVector*. Mon Jun 05 23:16:33 2000 Loic Dachary * mifluz/HtMaxMin.cc: Added unsigned char max_v and min_v Mon Jun 05 11:30:24 2000 Loic Dachary * test/t_dict: Add regression tests for mifluzdict Mon Jun 05 10:30:09 2000 Loic Dachary * htdb/mifluzdict.cc (action): Dump index dictionnary Sat Jun 03 11:27:28 2000 Loic Dachary * test/search.cc (WordPermute::Initialize): call WordExcludeMask::Initialize first and use WordExclude::Maxi() to find out if permutation is meaningfull (more than one slot). Previously used the length argument that does not reflect the actual number of permutable slots. * test/search.cc (Seek): implement lower and higher bounds limits. Wed May 31 09:56:55 2000 Loic Dachary * configure.in: Add AC_FUNC_ALLOCA and replace func strncoll * clib/Makefile.am: use LTLIBOBJS to compile only the necessary functions. Wed May 31 05:51:27 2000 Loic Dachary * mifluz/*.h: update manual pages. Sun May 28 23:50:19 2000 Loic Dachary * mifluz/WordList.h: Add BatchStart() BatchEnd() methods. Thu May 25 20:32:34 2000 Loic Dachary * mifluz/{WordCursorOne.cc,WordListOne.cc,WordList.cc,WordCursor.cc}: WordList and WordCursor are now abstract classes. The original implementation moved to WordCursorOne and WordListOne. This is to allow the implementation of WordCursorMulti and WordListMulti to handle multiple indexes transparently. * mifluz/WordDB.cc: Fix the Open/Close and Alloc/Dealloc semantic. Previously the WordDB object always had an allocated DB object. This was problematic when releasing the WordDBInfo (by releasing the WordContext) before a WordDB object, even if the WordDB object was closed (Close()). The DB object of the WordDB was released twice : once by WordContext destruction and once by WordDB destruction, leading to a core dump. * mifluz/Configuration.cc (Configuration): Implement copy constructor instead of relying on Dictionary copy constructor because the Dictionary copy constructor does *not* copy the data associated with the key. This is error prone since the behaviour of all the Configuration methods is to copy the data before storing it. * test/Makefile.am (search_SOURCES): kill txt2mifluz, use mifluzload instead. * mifluz/myqsort.c: qsort function with user data argument in the comparison function. * mifluz/*: Get rid of all static instances. WordContext now contains all of them and it must be passed in argument to all constructors. This allows mifluz to be thread safe and multiple configurations may exist within the same program. * db/*.c: Add user data argument to bt_compare/dup_compare functions. Necessary for WordKey comparison since it depends on run-time configuration. Mon May 22 19:02:37 2000 Loic Dachary * mifluz/WordDB.h: WordDBCursor now created from WordDB to match the Berkeley DB semantic and because it is a better way to do. Thu May 18 02:33:53 2000 Loic Dachary * mifluz/WordList.cc (Read): use Override instead of Insert. Thu May 18 02:02:36 2000 Loic Dachary * mifluz/WordDB.cc: implement intermediate cache implementing the pulsing method from http://corp.excite.com/people/cutting/papers/sigir90.ps Sat May 13 21:31:50 2000 Loic Dachary * mifluz/WordContext.cc (Finish): call Finish for each class instead of delete on instance. * mifluz/Word{Type,KeyInfo,RecordInfo,DBInfo,Monitor}.h: implement Finish method that reset instance to 0, allowing to call Instance after WordContext::Finish. The previous implementation was just calling delete on instance and later WordContext::Initialize would just re-use delete pointers. Sat May 13 18:52:47 2000 Loic Dachary * test/t_htdb: add tests for mifluzdump and mifluzload * mifluz/WordList.h (class WordList): fix manual page * htdb/mifluzdump.cc: command line interface to WordList::Write * htdb/mifluzload.cc: command line interface to WordList::Read * man/man_generate (build): also handle section 1 man pages. * htdb/htdb_{dump,stat,load}.cc: copy and modify man page from Berkeley DB. Fri May 12 17:50:40 2000 Loic Dachary * db/configure.in (bigfile): only rely on i686 implementation of bigfile support. Fri May 12 04:57:57 2000 Loic Dachary * db/mp_region.c (CDB___memp_close): clear weakcmpr pointer when closing region so that memory pool files are not released twice. Thu May 11 19:05:30 2000 Loic Dachary * mifluz/WordKeyInfo.cc (Show): use fprintf instead of printf to avoid mixing the chanels in regression tests. Thu May 11 00:49:02 2000 Loic Dachary * acinclude.m4 (ZLIB_HOME): Do not include /usr/lib and /usr/include if zlib is found in /usr, it may hurt if the compiler is not installed in a standard place. Wed May 10 23:46:12 2000 Loic Dachary * scripts/README: update to reflect the new update scheme. * scripts/htdig2mifluz: only generate a diff. Automatic update is too dangerous. Wed May 10 18:21:28 2000 Loic Dachary * doc/*.{eps,dia,obj}: Add images for documentation formating. * test/word.cc (doskip_harness): free cursor after use. * test/word.cc (doskip_overflow): free cursor after use. * test/dbbench.cc (find): free cursor after use. * htdb/htdb_{load,dump,stat}.cc (main): call WordContext::Finish to free global context for inverted index. * htdb/htdb_stat.cc (btree_stats): free stat structure. * mifluz/List.h (class List): Add Shift/Unshift/Push/Pop methods. * mifluz/List.h (class List): Add Remove(int position) method. * mifluz/StringList.h (class StringList): change methods Add/Insert/Assign that were copying the String* given in argument. This behaviour is confusing since it has a different semantic than the base class List. * mifluz/StringList.cc (Create): remove SRelease. Deleting the strings is taken care of by the destructor thru Destroy. If destruction of the Strings is not desirable Release should be used. SRelease was added apparently after a virtual constructor doing nothing was added to hide the default call to Destroy therefore leaking memory. * test/txt2mifluz.cc,word.cc,search.cc: fix minor memory leaks. * mifluz/WordDB.cc: Move Open to WordDB.cc. Tue May 09 19:25:57 2000 Loic Dachary * htdb/*.cc: rename htstat.cc htload.cc htdump.cc to htdb_stat.cc htdb_load.cc and htdb_dump.cc to be consistent with ht://dig. * htdb/htdb_{load,dump,stat}.cc (main): call WordContext::Finish to free global context for inverted index. * htdb/htdb_stat.cc (btree_stats): free stat structure. Mon May 08 18:28:41 2000 Loic Dachary * doc/Makefile.am (mifluz.txt): add generation of plain text documentation. * doc/*.png: add images, add html and plain text documentation to CVS tree and distribution. * configure.in (DOCUMENTATION): use makeinfo to build html documentation Mon May 08 00:57:56 2000 Loic Dachary * doc/mifluz.texinfo: clarify Configuration documentation. Sun May 07 01:08:00 2000 Loic Dachary * doc/mifluz.texinfo: integrate proofreading advices from Simon Miller . Thu May 04 17:31:46 2000 Loic Dachary * */*.cc: make sure fcntl.h is included first to prevent inconsistent renaming of open to open64 on Solaris. * examples/example0.cc,mifluz/WordMonitor.cc: move stdlib after htconfig to avoid conflicts with _FILE_OFFSET_BITS redefinition. Wed May 03 06:21:42 2000 Loic Dachary * mifluz release 0.16.0 * doc/mifluz.texinfo: apply proofreading from Dave Stevens Wed May 03 01:28:46 2000 Loic Dachary * README: Add warning about PHP4 license incompatibility. * */*: update/add Copyright notices, add year 2000, change Noccurence to Noccurrence. Wed May 03 00:14:55 2000 Loic Dachary * */*.cc,*/*.[ch]: fix GNU Public -> GNU General Public License * README: add license information * db/LICENSE: add Berkeley DB License Tue May 02 17:15:59 2000 Loic Dachary * mifluz/WordList.h (class WordList): Proffread documentation. Mon May 01 23:23:41 2000 Loic Dachary * mifluz/Configuration.h: Add manual page * mifluz/WordContext.h: Proofread documentation. * man/man_generate: generate texinfo reference material in addition to man pages. Thu Apr 20 12:52:42 2000 Loic Dachary * mifluz release 0.15.0 * mifluz/WordCursor.cc (ContextRestore): fix ContextRestore to do a WalkNext instead of simply db_cursor_flags = DB_NEXT because the later does not work (go to beginning of file instead). * test/search.cc (WordSearch::Search): expr argument is data member of the class. * db/acconfig.h,db/configure.in,acconfig.h,configure.in: large file support for linux handled in the same way for linux, solaris and all. Wed Apr 19 20:04:12 2000 Loic Dachary * test/search.cc: WalkNext() method for WordTreeOr(). Added ExcludeCount() to WordExclude classes. The or does not do any permutation to fit the semantic of WordCursor in structured queries. Namely it does not wrap around the index and this is essential for the search algorithm to work with boolean/structured queries. Wrap around is only tolerated in WordTreeOptional search and cannot be combined with boolean operators. * test/search.cc: define AllOrNothing() to carry the fact that if a term is missing the whole query fails (resolving and for instance). Mon Apr 18 15:53:32 2000 Loic Dachary * test/search.cc: fix recursive building of the context (ContextSave and ContextRestore. In structured queries the context is made of the context of each node except the leaf nodes (WordTreeLiteral). Mon Apr 18 15:28:30 2000 Loic Dachary * acinclude.m4: Add TRY_COMPILE test for no-rtti and no-exceptions to prevent lossage on freebsd. Mon Apr 17 15:53:32 2000 Loic Dachary * mifluz/WordCursor.{cc,h} (Initialize): return OK, NOTOK * test/search.cc (*::Prepare): return OK, NOTOK Mon Apr 17 15:28:30 2000 Loic Dachary * test/search.cc (WordTree::Prepare): implement scope selection. * test/t_search: scope regression tests * test/search.cc: WordParser: tabulation is not a separator so that it can be used in the scope. Thu Apr 14 15:36:45 2000 Loic Dachary * test/search.cc (ParseOperands): fix conflict when checking that subexpr was a LITERAL. Remove check since not used. * test/search.cc (WordTreeNot): Merge Forbiden and Not into one since they carry the same function. * test/search.cc (class WordPermute): Add support for WORD_PERMUTE_PROXIMITY_ONLY to implement "near" in a consistent way. * test/search.cc (class WordTreeOptional): Implement Or Near and And semantic with UsePermutation() and UseProximity() virtual methods. * test/t_search: update regression tests Thu Apr 13 15:36:45 2000 Loic Dachary * acinclude.m4: Add NO_RTTI to prevent accidental use of Run Time Type Information g++ builtin. This can be a problem when linking with a C program such as Perl. Same logic with NO_EXCEPTIONS. Wed Apr 12 16:52:51 2000 Loic Dachary * test/t_search: regression tests for Mandatory and Forbiden semantic. * test/search.cc: WordPermute derive from WordExcludeMask and makes a conditional use of the permutation toggle. * test/search.cc: WordExclude does not exclude the permutation with all bits set. It is the responsibility of WordPermute to exclude it when meaningless. This combination may be usefull when used in the context of WordExcludeMask. Update regression tests accordingly. * test/search.cc: WordExclude and WordExcludeMask data members are private for encapsulation safety. * test/search.cc: Implement mandatory and forbiden handling in Optimization Tue Apr 11 11:31:35 2000 Loic Dachary * test/t_search: regression tests for Mandatory and Forbiden parsing. * test/search.cc (ParseUnary): also parse Mandatory and Forbiden. Was ParseNot now generalized. Mon Apr 10 12:11:20 2000 Loic Dachary * test/search.cc: Document all classes using the manual pages conventions. * test/search.cc: remove unused macros and functions. * man/*: update manual pages * mifluz/WordCursor.h: Update comments, add some data members in manual page for derivation purpose. Fri Apr 07 19:53:43 2000 Loic Dachary * test/search.cc: implement WordExcludeMask for a better implementation of Not (using exclusion in Or and Optional retrieval models). * test/search.cc: regression tests for WordExclude* classes. Thu Apr 06 23:01:29 2000 Loic Dachary * db/patch2: large file support for linux (bert@senga.org) * test/t_search: regression tests for WordTreeOr Thu Apr 06 18:32:57 2000 Loic Dachary * mifluz/WordCursor.cc (Seek): start working at WORD_FIRSTFIELD just in case the patch contains a defined word (meaningless but we want to be sure. * test/search.cc: Rename WordTreeOr in WordTreeOptional. Create WordTreeOr same as WordTreeOptional except does not handle proximity. Move WordCursorAnd/WordCursorNot in WordTreeOperand to share between WordTreeOr and WordTreeOptional. Thu Apr 06 13:46:39 2000 Loic Dachary * mifluz/WordCursor.cc (WalkRewind): move initialization part in WalkInit. * test/search.cc (class WordTreeOperand): data member "pos" is the seek position. It was wrong to use "found" for that purpose. Thu Apr 06 09:31:03 2000 Loic Dachary * test/search.cc (Optimize): now properly recursive. Separate AscendingFrequency and StripNonExistent functions. Thu Apr 06 00:18:00 2000 Loic Dachary * test/search.cc (Parse): rename Parse(StringList) to ParseList to avoid conflicts in some gcc versions. Wed Apr 05 23:41:19 2000 Loic Dachary * test/dbbench.cc (int_cmp): update signed/unsigned but in short comparison. * test/dbbench.cc (dbinit_env): make sure cache is never initialize with a value less than 500Kb. Wed Apr 05 19:21:18 2000 Loic Dachary * mifluz/WordCursor.cc (Noccurence): create convinience and derivable function interface to WordList::Noccurence. * test/search.cc: AscendingFrequency is virtual of WordTree and WordTreeOperand::AscendingFrequency runs on sub cursors. WordTreeOperand::Noccurence virtual sum the Noccurence of each term. Wed Apr 05 16:39:37 2000 Loic Dachary * test/search.cc: Replace GetFound().Key() with new GetDocument method where appropriate. * test/search.cc: Add WordLiteral::WalkNext that do not show duplicate documents. Upgrade tests accordingly. * mifluz/WordCursor.cc: Seek uses searchKey instead of found. Wed Apr 05 11:16:27 2000 Loic Dachary * test/t_search: add test for single word search * test/search.cc (main): WordTreeLiteral and WordTreeOperand derive from WordTree instead of being two completely separate classes. * test/benchmark/: run the make MONITOR=-m dobench. Observed CPU time saving is ~20 (don't use NOOVERWRITE). Tue Apr 04 17:03:34 2000 Loic Dachary * test/dbbench.cc (fill_one): use Override instead of Insert to save 30% overall CPU cycles for sorted insertions. The reason is that Insert uses the NOOVERWRITE test that implies a c_get in db_put, involving a *lot* of activity (15 times more comparisons). Found using quantify. * mifluz/*.cc: make sure htconfig.h is included everywhere * mifluz/clib: create replacement functions, encapsulated, renamed * mifluz/lib.h: include clib.h Fri Mar 31 19:35:41 2000 Loic Dachary * db/db_salloc.c (CDB___db_shalloc): Applied official Berkeley DB patch http://www.sleepycat.com/update/3.0.55/patch.3.0.55.html as suggested by (Peter Marelas ). Fri Mar 31 19:27:31 2000 Loic Dachary * mifluz/WordContext.cc (Initialize): do not specify the default again ("Dwayne Fontenot" ). Fri Mar 31 12:38:55 2000 Loic Dachary * test/search.cc: fix compile warnings. Check with purify. Wed Mar 29 18:52:35 2000 Loic Dachary * mifluz/WordCursor.cc (Seek): use temporary copy of found.Key() instead of found itself. Otherwise not possible to Seek + retrieve latest match. * test/search.cc: WordTreeOr re-implemented from WordSearchOr to comply with WordCursor semantic. Tue Mar 28 18:18:00 2000 Loic Dachary * test/search.cc (Search): WordTreeAnd implemented with WordCursors base class. Sat Mar 25 15:12:41 2000 Loic Dachary * mifluz/{WordKey,WordReference,WordRecord}.{cc,h}: rename Set(StringList) to SetList(StringList) to avoid overload conflicts. * mifluz/WordList.{cc,h},WordCursor.{cc,h}: Walk* functions migrate from WordList to WordCursor. WordCursor constructors hidden, new Cursor method in WordList to return a WordCursor object. A WordCursor object now has a pointer to the WordList object that created it. With these changes, WordCursor has an STL like semantic even if syntax is different. Virtualize functions for derivation purpose. * man/WordList.3,WordCursor.3: upgraded documentation for Walk* related changes. Fri Mar 24 16:02:26 2000 Loic Dachary * mifluz/WordCursor.h (class WordCursor): data members become private and accessors are added to allow derivation for search purpose. * mifluz/WordList.cc,WordCursor.h: remove search.status, return code holds all information. Only keep it to hold IsAtEnd() status. Rename WORD_WALK_OK to OK. * test/search.cc (SearchCursorAnd): WalkNext == NOTOK && PossibleDocument == WORD_SYNC_OK is an error and should be treated as such (previously returned WORD_SEARCH_CURSOR_REDO). Thu Mar 23 16:12:42 2000 Loic Dachary * test/search.cc: implement boolean query parser, first part (or, and, near, literal). Build classes describing the syntax tree (WordTree* classes). Rewrite the parser (WordParser) to use the boolean query parser. Remove the -o option. * test/t_search: update to use the boolean query parser instead of -o + white space separated word list. Thu Mar 23 08:52:40 2000 Loic Dachary * INDEX-STRUCTURE: Add, plans for next index architecture Thu Mar 23 00:40:32 2000 Loic Dachary * mifluz/String.cc,HtPack.cc: replace cerr by fprintf(stderr or comment out if NOSTREAM (Peter Marelas ). * README: add -lz in link example (Peter Marelas ) Wed Mar 22 10:35:44 2000 Loic Dachary * mifluz release 0.14.0 * db/Makefile.am (INCLUDES): fix -I relative to top_srcdir * examples/Makefile.am (EXTRA_DIST): add t_example to EXTRA_DIST Tue Mar 21 23:23:33 2000 Loic Dachary * test/benchmark/{N,Nz,W,Wz}: Add benchmark results of make MONITOR=-m dobench * test/dbbench.cc (fill_one): add -R to randomize numerical values in key. * doc/mifluz.texinfo: Added chapter on Cache tuning * test/dbbench.cc (fill_one): use count so that entries are unique Mon Mar 20 13:59:43 2000 Loic Dachary * db/bt_compare.c: add monitor for number of compare * db/db_am.c: add monitor for GET(0) * test/benchmark-report (report): clean output and presentation, merge compress graph together for easy reading. Fri Mar 17 15:16:05 2000 Loic Dachary * db/bt_split.c (CDB___bam_broot): Add monitor gauge for tree level * db/mp_cmpr.c (CDB___memp_cmpr_alloc): Add monitor gauge for file size * test/dbbench.cc (fill_one): adjust entry size with or without Word classes to be the same size. * test/Makefile.am (bench): automatically call benchmark-report if rrdtool is installed and MONITOR='-m' set when running benches. * mifluz/WordMonitor.cc (TimerStart): use time(0) instead of simulated time. * test/benchmark/{not}sorted-2000-03-12/index.html: update comments * mifluz/WordMonitor.{cc,h}: Add C interface to WordMonitor. Fri Mar 17 10:01:37 2000 Loic Dachary * htdb/{htdump,load,stat}.cc: update usage message * examples/t_example: regression test for example Thu Mar 16 05:58:08 2000 Loic Dachary * doc/mifluz.texinfo: update. Remove entries that are now in manual pages, fix typos, clarify some parts review numbers. * README: review & update. * example/example0.cc: extensively comment, simplify. * man/{WordCursor.3,WordMonitor.3}: Added Wed Mar 15 05:01:17 2000 Loic Dachary * mifluz/WordCursor.cc (Seek): rename ModifyKey to Seek since it's really what it is. Wed Mar 15 03:54:04 2000 Loic Dachary * mifluz/WordReference.h (class WordReference): fix return type of KeyUnpack. * mifluz/WordRecordInfo.cc,WordRecordInfo.h: create from WordRecord * mifluz/WordDBInfo.h: update comments * man/{WordDBInfo.3,WordRecordInfo.3,WordRecord.3,WordReference.3}: Added Wed Mar 15 01:59:20 2000 Loic Dachary * db/mp_fopen.c: change mp from global to static. * db/prefix-symbols.sh: rename global symbols, renaming functions is not enough. Tue Mar 14 00:07:16 2000 Loic Dachary * man/man_generate: build manual pages from header files * man/Makefile.am: repository for manual pages. * mifluz/WordList.{h,cc}: kill FirstSkipField function that was not used anymore. * mifluz/{WordList.h,WordKey.h,WordContext.h}: review and update comments. * mifluz/WordList.cc (Walk): check return code from WalkInit and WalkFinish. * */*.cc: replace i = 1 with i = WORD_FIRSTFIELD where possible. * mifluz/WordList.h (class WordList): return type was wrong. * */*: replace WordSearchDescription with WordCursor Mon Mar 13 22:33:42 2000 Loic Dachary * test/t_trunc: test the O_TRUNC flag when opening a database. * test/txt2mifluz.cc: O_TRUNC when opening, do not unlink database (should unlink weak database too, clumsy). * mifluz/WordList.cc (Open): Added O_TRUNC flag Mon Mar 13 05:08:07 2000 Loic Dachary * test/search.cc (main): fixed all memory leaks * test/word.cc (class SkipTestEntry): delete all * mifluz/WordKey.cc (Set): Fix leaked bytes when using Get_First + Remove, use Start_Get + Get_Next instead. * db/mp_cmpr.c (CDB___memp_cmpr_open): pass flags + mode of main file in argument so that weakcmpr file is opened with proper permissions. * test/t_rdonly: test that readonly mode with files without write permissions works as expected with compression on. Sun Mar 12 23:01:31 2000 Loic Dachary * db/mp.h,mp_cmpr.c: weakcmpr share the same env as its parent get rid of dbenv member of weakcmpr structure * mifluz/WordDBInfo.cc: DB_CREATE when opening shared env * test/t_env: test shared access * test/word.cc: added -e for testing shared env * test/word.cc (doskip_overflow): fix multiple WordContext::Initialize calls bugs: all WordList must be deallocated before WordContext::Initialize is called again, otherwise the dbenv object is used after deletion. Sat Mar 11 23:18:56 2000 Loic Dachary * test/t_htdb: test all htdb programs and options Thu Mar 09 23:18:56 2000 Loic Dachary * renamed all external symbols prepending CDB_ to prevent conflicts when used as shared library with another instance of Berkeley DB. * db/*: now a helper library, flat directory with lots of files. Wed Mar 08 22:21:58 2000 Loic Dachary * test/word.cc (usage): remove -w useless now that description of key is always in configuration object. * */*.cc: Never use iostream so that the standard library is not needed and linking with C programs is more straight forward. Transform all operator << and operator >> in Write and Read functions. Replace all cerr calls with fprintf(stderr calls. Add Get() function in WordKey, WordRecord and WordReference for easy use with printf. * Makefile.config: define NOIOSTREAM used in standard classes such as htString.h to retain compatibility with htdig. Tue Mar 07 23:01:12 2000 Loic Dachary * db/mp/mp_cmpr.c: zlib is not anymore mandatory to activate the compression patch. * mifluz/WordKeyInfo.cc: re-implement only with sort order simplify the key description to the max. Tue Mar 07 05:23:34 2000 Loic Dachary * mifluz/WordMonitor.h: re-implement, very simple framework, not input method, no interval output (should be implemented with timer, not active loop). No more time measures because not accurate. Unique instance as WordKeyInfo. * mifluz/WordContext.h: initialize WordMonitor * mifluz/WordDBCompress.h: re-implement for Bekeley DB 3.0.55 adaptation. * db/mp/mp_bh.c (__memp_bhfree): always free the chain, if any. The bh is reset to null after free and we loose the pointer anyway, finally filling the pool with it. * db/mp/mp_cmpr.c (__memp_cmpr_write): i < CMPR_MAX - 1 instead of i < CMPR_MAX otherwise go beyond array limits. This fixes a major problem when handling large files. Mon Mar 06 01:01:02 2000 Loic Dachary * db/mp/mp_bh.c (__memp_bhfree): always free the chain, if any. The bh is reset to null after free and we loose the pointer anyway, finally filling the pool with it. * db/mp/mp_cmpr.c (__memp_cmpr_write): i < CMPR_MAX - 1 instead of i < CMPR_MAX otherwise go beyond array limits. This fixes a major problem when handling large files. Sat Mar 04 19:29:11 2000 Loic Dachary * db/mp/mp_cmpr.c (__memp_cmpr_free_chain): clear BH_CMPR flag. Was causing core dumps, thanks to Peter Marelas maral@phase-one.com.au for providing a simple case to reproduce the error. * doc/Makefile.am: change GOALS to DOCS so that make ALL_DOCS='' all is meaningfull. * test/search.cc (AscendingFrequency): always reset incoming keys before returning, otherwise caller has no way to find out what was de-allocated and what was not. Fri Mar 03 22:54:56 2000 Loic Dachary * db/mp/mp_cmpr.c: remove cmpr_context.info member, always take from dbenv that is available at all times. When writing (__memp_cmpr_write) allocate chain with malloc instead of shalloc to prevent ever lasting loop because memory pool is full. Always free the chain after a write. Rewrite more general chain allocation routine to do either malloc or shalloc. Thu Mar 02 22:26:56 2000 Loic Dachary * htdb/{htstat,htdump,htload}.cc: upgrade to Berkeley DB 3.0.55 Thu Mar 02 14:32:25 2000 Loic Dachary * mifluz/WordDB.{h,cc}: change to fit the Berkeley DB 3.0.55 syntax/semantic. * test/dbbench.cc: change to fit the Berkeley DB 3.0.55 syntax/semantic. Tue Feb 29 13:45:33 2000 Loic Dachary * mifluz/WordContext.cc (Initialize): Add WordDBInfo * mifluz/WordDBInfo: add: interface to DBENV. * configure.in: de-activate --enable-cxx, only use C interface of Berkeley DB. Mon Feb 28 22:59:34 2000 Loic Dachary * mifluz/WordMonitor.cc (WordMonitor): set nomonitor = 0 Fri Feb 25 13:16:51 2000 Loic Dachary * mifluz/WordList.h (class WordList): export GetConfiguration to SWIG. * test/search.cc: WordKeySemantic new class configurable meaning for document and location. * test/search.cc: uniq_server becomes uniq and holds the boundary of uniq stripping. Wed Feb 23 10:28:18 2000 Loic Dachary * README: added credits section Wed Feb 23 09:45:20 2000 Loic Dachary * test/dbbench.cc: remove random test of pack/unpack * test/word.cc: Add SetRandom static function * mifluz/WordKey.{cc,h}: remove SetRandom method Tue Feb 22 21:32:16 2000 Loic Dachary * mifluz release 0.13.0 * examples/example0.cc: add include WordContext.h Wed Feb 16 13:43:53 2000 Marcel Bosc * mifluz/WordKey.cc (SetRandom): added optional argument to WordKey::SetRandom Tue Feb 15 18:41:40 2000 Loic Dachary * mifluz/WordMonitor.cc: Add #include "htconfig.h" * mifluz/{lib.h,Configuration.h,HtTime.h}: do not include htconfig.h. Headers must *never* include htconfig.h or they cant be used outside htdig and will conflict with existing configuration files. It is the job of the source file to *always* include htconfig.h. * scripts/README: more hints about synchronization of ChangeLog Tue Feb 15 17:25:20 2000 Loic Dachary * Sync htdig * Makefile.config (INCLUDES): remove DEFAULT_CONFIG because it was not used. Tue Feb 15 17:16:23 2000 Loic Dachary * mifluz/mifluz.h: fix comment * mifluz/.cvsignore: add Tue Feb 15 15:42:43 2000 Loic Dachary * ChangeLog: restore content up to Dec 16 that was trashed at some point. * README: updated to fit new installation scheme * mifluz/Makefile.am: Fix installation so that only mifluz.h is visible (others in mifluz/*.h). * *: make the CVS tree standalone * scripts/* : procedures to synchronize with htdig * mifluz/* : Group all files from htword/htlib in mifluz dir build only one library. * {htword,htlib} : kill * {db,htdb} : copies from htdig tree Fri Feb 11 11:32:23 2000 Loic Dachary * Makefile.am,configure.in (SUBDIRS): kill useless MIFLUZSUBDIR. Fri Feb 11 00:27:56 2000 Loic Dachary * test/Makefile.am (EXTRA_DIST): add mifluz-search.conf * test/.version: 0.13 * test/t_search: $srcdir in front of mifluz-search.conf Thu Feb 10 16:28:03 2000 Loic Dachary * test/word.cc (class SkipTestEntry): use WordRefs() instead of Collect(WordSearchDescription(empty, HTDIG_WORDLIST_COLLECTOR)). Wed Feb 09 17:26:57 2000 Loic Dachary * configure.in: add --enable-compat185 so that libhtdb can be installed as a replacement of the system installed library. Wed Feb 09 11:29:16 2000 Loic Dachary * test/search.cc (Initialize): fixed errors in traces messages not showing the proper function name. Tue Feb 08 16:20:16 2000 Loic Dachary * test/search.cc: Split OR implementation in three functions a bit redundant but *much* clearer and as efficient. Added WordPermute class to produce permutations including proximity. Include proximity search in the OR implementation. review all comments, messages and code organization. * test/t_search: Added tests for OR using proximity. Mon Feb 07 11:53:55 2000 Loic Dachary * test/search.cc: Replace OPERATOR_?? by inheritance and virtual functions. Move PossibleDocument to WordSearchOr and exclude/proximity data memberst too. Move proximity datamemeber to WordSearchNear. Sat Feb 05 20:40:13 2000 Loic Dachary * test/word.cc: replace printf by if(verbose) cerr << Sat Feb 05 19:06:13 2000 Loic Dachary * htdig_update: added -z3 to cvs call for speed. Sat Feb 05 16:36:12 2000 Loic Dachary * test/search.cc (SearchNearOne): Added uniq_server and near operator. Use SetToFollowing and review the code for consistency. * test/t_search: added tests for or/near operators to cover typical usage. This is not a proper regression test yet. Wed Feb 02 12:43:25 2000 Loic Dachary * test/word.cc (doskip_harness): exercice all possible cases of SkipUselessSequentialWalking. * test/word.cc (doword): if verbose > 3 set verbose - 2 on WordList objects. * test/word.cc (doskip_overflow): add doskip_overflow, doskip now calls doskip_normal (previously doskip) and doskip_overflow. * test/word.cc: Update usage(), add symbolic names for field numbers Tue Feb 01 21:32:07 2000 Loic Dachary * test/search.cc: The list of search terms is now in a list of pointers to WordKey instead of an array of WordKey. The sorting of keys in increasing frequency is now thread safe. * test/t_search: add tests to check limit conditions. * test/search.cc (Search): Can return OK NOTOK SEARCH_ATEND instead of 'last matched document is empty string' clumsy magic. * test/search.cc: context now saves and restore exclude bits and is usable for OR search resuming. * test/t_search: add tests for OR search resuming with context. Tue Feb 01 13:08:04 2000 Loic Dachary * test/t_htsearch: use -C instead of deprecated -d * test/search.cc: cleanup the code and comment. Make Document* functions a separate set, with key description constants. Wrap the search parsing functions in WordParser class so that WordSearch only contains search logic. Build functions Context* to handle information that allows to resume a search at the point it left off. Change -d in -C. Create a Exclude class to hold the code + data handling permutations of exclude flags for OR search. Fri Jan 28 12:26:01 2000 Loic Dachary * configure.in: get rid of tools directory that was growing out of date and is not used anyway. Tue Jan 25 13:24:15 2000 Loic Dachary * test/search.cc: re-implement permutation of exclude flags. Mon Jan 24 18:21:45 2000 Loic Dachary * test/t_search: Add minimal test for OR retrieval model in search.cc Fri Jan 21 18:22:24 2000 Loic Dachary * test/.gdbinit: set MIFLUZ_CONFIG=mifluz.conf * test/search.cc: implement OR retrieval model. * test/search.cc (Search): implement repositioning (-d option) (start where last search left) and -c -b options to control the number of document retrieved and skipped. * test/t_search: function helper for testing, test -c -b and -d options. Thu Jan 20 16:55:37 2000 Loic Dachary * test/search.txt,test/search.cc,test/t_search: Testing WalkNext, WalkInit and WalkFinish by implementing AND search using parallel cursors. Sat Jan 15 13:33:38 2000 Loic Dachary * mifluz release 0.12.0 * test/Makefile.am: update comments to explain mifluz.conf usage and remove LENGTHY_TEST obsolete comment. Added mifluz.conf to EXTRA_DIST. Mon Jan 17 13:37:33 2000 Marcel Bosc * doc/mifluz.texinfo : updated key specification and configuration docs Sat Jan 15 12:39:38 2000 Loic Dachary * test/txt2mifluz.cc: Load an ascii index description into an index. * test/t_wordskip: use txt2mifluz.cc * test/word.cc: use file generated by txt2mifluz instead of opening it ourselves. * test/test_functions.in: Add MIFLUZ_CONFIG to point to the default index description. * test/Makefile.am: move all programs to the target check_PROGRAMS to only compile if tests wanted. * test/word.cc: remove index description, rely on mifluz.conf. No duplicate configuration, -z set the compress flag alone. * test/dbbench.cc: remove index description, rely on mifluz.conf file. * test/dbbench.cc: use WordContext::Initialize to load config from file if any. Only show structure key and params list of -v specified. * test/mifluz.conf: added: key description for htdb utilities Thu Jan 13 22:58:37 2000 Loic Dachary * test/dbbench.cc (bench_pack_unpack): fix new WordContext usage Wed Jan 12 20:48:16 2000 Loic Dachary * test/dbbench.cc,test/word.cc: fix to fit new WordSearchDescription constructors. Mon Jan 10 16:58:20 2000 Loic Dachary * test/dbbench.cc,test/word.cc: update according to function name changes (killed InSortOrder, upcase first letter). Thu Jan 06 16:53:36 2000 Loic Dachary * test/dbbench.cc, test/tools/bench0.cc: change show to Show * htdig_update: More secure htdig_update. Do not update at top level. removed htnet from list of directories. Thu Jan 06 14:49:17 2000 Marcel Bosc * mifluz: added htdig_update Mon Jan 03 14:23:37 2000 Marcel Bosc * mifluz release 0.11.0 Sun Dec 19 20:04:42 1999 Loic Dachary * htdb/{Makefile.am, err.cc}: add err.cc for portability purposes. Fri Dec 17 18:04:09 1999 Loic Dachary * Makefile.config: add PROFILING variable and document it. Designed to enable profiling of htdig easily. * */Makefile.am: add *_LDFLAGS = $(PROFILING) for every binary to enable profiling, if specified. Thu Dec 16 17:16:33 1999 Loic Dachary * htdb/*.cc: add -W option to activate htword specific compression. Keep compatibility with zlib compression (-z only). Thu Dec 16 11:56:02 1999 Loic Dachary * test/dbbench.cc: change wrong strcpy with memcpy Thu Dec 16 12:26:07 1999 Loic Dachary * test/dbbench.cc: add -g option, -z now uses custom compression, include #if ZLIB to allow compilation without ZLIB. -z -g uses zlib instead of custom compression. Thu Dec 16 10:57:02 1999 Loic Dachary * RELEASE 0.10.0: * htdig_checkout: extract htdig ChangeLog into ChangeLog.htdig. Since the modifications done to htlib/htword/db/htdb are logged into htdig ChangeLog, this is a necessary complement of the mifluz ChangeLog Wed Dec 15 18:30:47 1999 Loic Dachary * htdig_checkout,configure.in: add htdb (contains htload, htdump, htstat) Tue Dec 14 18:46:53 1999 Loic Dachary * test/tools/.cvsignore,example/.cvsignore,doc/.cvsignore: add or update * test/word.cc: upgrade to use new Set/Get methods in htword/Word* * test/skiptest_db.txt: The string format now has a fixed format. No field may be ommited. The word suffix is always set if not defined or if defined. Easier parsing. Thu Dec 09 18:56:12 1999 Loic Dachary * acinclude.m4 (CHECK_ZLIB): upgraded, stronger checking. Bombs if either zlib.h or libz is not found. Thu Dec 09 14:56:50 1999 Marcel Bosc * RELEASE 0.9.0: Mon Nov 08 10:32:20 1999 Marcel Bosc * RELEASE 0.8.0 * Makefile.am: had forgotten examples directory in extra_dist Wed Nov 03 19:19:43 1999 Marcel Bosc * RELEASE 0.7.0 * doc/mifluz.texinfo : added doc on API, added examples * examples/ : added this directory containing examples of usage of the API Tue Oct 26 16:22:48 1999 Loic Dachary * test/word.cc (get_int_array): include fstream.h instead of fstream Tue Oct 26 13:17:56 1999 Loic Dachary * configure.in: remove --enable-test, always enabled Thu Oct 21 18:00:15 1999 Loic Dachary * configure.in: DOCUMENTATION (html,ps,info) fed according to available tools. * doc/mifluz.texinfo: fix makeinfo bugs Tue Oct 19 13:10:01 1999 Loic Dachary * acconfig.h: remove unecessary VERSION * configure.in: do not generate VERSION and PACKAGE in htconfig.h.in Tue Oct 19 10:22:42 1999 Loic Dachary * Makefile.config: AUTOMAKE_OPTIONS = foreign * configure.in: -with-key to specify alternate htword/word.desc * test/word.cc: fix warnings Fri Oct 15 18:24:36 1999 Marcel Bosc * htdig_checkout: switching to htdig branch 3.2.x Wed Oct 06 10:56:53 1999 Loic Dachary * First working revision, including two month work from htdig and Berkeley DB with compression patches.