packages icon
$Header: /cvsroot/mifluz/mifluz/README,v 1.21 2001/06/29 14:14:07 loic Exp $

This program is part of the GNU project, released under the aegis of GNU.

What is it ?
------------

The purpose of mifluz is to provide a C++ library to build and query a
full text inverted index. It is dynamically updatable, scalable (up to
1Tb indexes), uses a controlled amount of memory, shares index files
and memory cache among processes or threads and compresses index files
to 50% of the raw data. The structure of the index is configurable at
runtime and allows inclusion of relevance ranking information. The
query functions do not require to load all the occurences of a
searched term.  They consume very few resources and many searches can
be run in parallel.

Mifluz is part of the GNU project and can also be called GNU mifluz.
The main sites are http://www.gnu.org/software/mifluz/ and
http://www.senga.org/mifluz/html/.  Mifluz originates from Ht://dig
(http://dev.htdig.org/) because the authors thought that it was far
more productive to start in this environment instead of duplicating
efforts.

A mailing list (sengamifluz@egroups.com) receives users and developpers
discussions. Bugs should be reported to bug-mifluz@gnu.org.

Where is the documentation ?
----------------------------

Manual pages are in the man directory and are installed with the
package. The C++ header files contain the same information as the
manual pages. The top level manual page is 'mifluz'. 

An implementation documentation is in the doc directory. It is in
texinfo format and can be formated to postscript, info, html or pdf 
with the provided makefile.

A commented example is available in the example directory.

How to install it ?
-------------------

For OS that are not GNU/Linux we recommend to use the iconv library
provided by Bruno Haible <haible@clisp.cons.org> at
ftp://ftp.ilog.fr/pub/Users/haible/gnu/libiconv-1.3.tar.gz. Under
Solaris-2.6 the native iconv library is not able to convert from
ISO-8859-1 to UTF-16 directly, it must do ISO-8859-1 -> UTF-8 ->
UTF-16 and vice versa.

#
# Various configuration options are available, use
# ./configure --help to get them all.
#
./configure

make all

make check

make install


How to link with mifluz ?
-------------------------

Assuming you've installed mifluz in the /usr/local directory use something 
similar to the following:

#include <mifluz.h>

cc -I/usr/local/include -o prog prog.cc -L/usr/local/lib -lmifluz 

or 

cc -I/usr/local/include -o prog prog.cc -L/usr/local/lib -lmifluz -lz

if mifluz was compiled with zlib as a dynamic library.

Only mifluz.h is installed in /usr/local/include, the complete set of
headers for mifluz can be found in the /usr/local/include/mifluz
directory.

Where can I download it ?
-------------------------
The main distribution sites are ftp://ftp.gnu.org/pub/gnu/mifluz/
and http://www.senga.org/mifluz/current/.


Copyrights and License
----------------------
The core part of mifluz is copyrighted by The ht://Dig Group and licensed
under the GPL (see the COPYING file). It contains a modified version of
the Berkeley DB software (original sources are found on 
http://www.sleepycat.com/) and licensed according to the terms found in 
the db/LICENSE file. 

Never link mifluz with PHP4 since the license is incompatible with the
GPL.

Richard Stallman says:
 > The PHP interface can be used with PHP version 3.  PHP 4 has a
 > different license, incompatible with the GPL, so it cannot be linked
 > with this program.
 > 
 > Please say this clearly in the README, and at the beginning of the
 > documentation that explains the the PHP interface.  If PHP developers
 > or other fans of PHP 4 ask you to change this policy, please tell them
 > no.  Say that we are very unhappy that the license of PHP was changed,
 > and we think they should change it back.


Loic Dachary
loic@senga.org
http://www.senga.org/