mifluzsearch(1)

NAME
mifluzsearch - search the content of an inverted index.

SYNOPSIS
mifluzsearch -f words [options]

DESCRIPTION
mifluzsearch searches a mifluz index for documents matching a Alt*Vista expression (simple syntax). The result of the search is output on the standard output.

SEARCH SYNTAX
The search syntax uses a + to indicate a mandatory word, a - to indicated a forbiden word and double quotes (") to specify a literal.

OPTIONS

-v  Increase verbosity.

-M config_file
    use config_file instead of the default configuration file.

-B dbfile (default test)
    use dbfile inverted index.

-f expr
    search for documents that match expr.

-H  print a HTML header before the results so that mifluzsearch can be used as a cgi-bin.

-o word
    return the number of occurencs of word in the inverted index.

-c number (default 10)
    retrieve at most number documents.

-d number (default 0)
    the index of the first retrieved document starts at number. The number of documents retrieved after this document depends on the -c option. If number is higher than the maximum document that matches the query, it will be rounded to match the last chunk of document.

-n  only parse the search expression and print it.

-P proximity (default 1)
    words are considered near to each other if they are at a maximum distance of proximity words. If the number is negative the word ordering does not matter.

-S  return at most one match per server.

-l key
    searching will start at this position in the index. The key is the ascii representation of a key.

-l key
    searching will end at this position in the index. The key is the ascii representation of a key.

CONFIGURATION FILE

wordlist_wordkey_document

wordlist_wordkey_location

wordlist_wordkey_uniq

RESULTS
Here is a sample text result:
match: <UNDEF>	<UNDEF>	0	5	<UNDEF>	(world the proximity)
match: <UNDEF>	<UNDEF>	0	21	<UNDEF>	(world the proximity)
match: <UNDEF>	<UNDEF>	0	51	<UNDEF>	(world the proximity)
match: <UNDEF>	<UNDEF>	0	81	<UNDEF>	(world the proximity)
count: 100
time: 20
base: 0
words: the an world
Here is a sample xml result (provided the -x option was given):
<?xml version="1.0" encoding="ISO-8859-1" ?>
<searchresults>
<match><document>0 5 </document><info>world the proximity</info></match>
<match><document>0 21 </document><info>world the proximity</info></match>
<match><document>0 51 </document><info>world the proximity</info></match>
<match><document>0 81 </document><info>world the proximity</info></match>
<count>100</count>
<time>30</time>
<words>
	<verbatim>the an world </verbatim>
	<unaccent>the an world </unaccent>
</words>
<base>0</base>
</searchresults>

match
    is the document number that matches, as defined by wordlist_wordkey_document.

info
    is a human readable information explaining why the document matched.

count
    is an estimation of the total number of documents that match the query.

time
    is the number of milliseconds that were necessary to process the query.

words verbatim
    is the list of accented words of the query.

words unaccent
    is the list of unaccented words of the query.

base
    is the absolute index of the first document returned in the total number of possible documents. For instance, if mifluzsearch was called with -d 50 -c 10 to require ten documents after the 50th document, the base will be 50. However, if there are only 35 documents that match the query, the base will be rounded to the 30 and only 5 documents will be returned.

CGI
Each option may be given in the QUERY_STRING environment variable so that mifluzsearch can be used as a cgi-bin instead of a line command. The options are processed in the order in which they appear in QUERY_STRING.
QUERY_STRING='v=1&f=a+word&M=/etc/mifluz.conf' mifluzsearch
is strictly equivalent to
mifluzsearch -v -f 'a word' -M /etc/mifluz.conf

DEBUG
Debugging information interpretation. A cursor is open in the index for every word and they are stored in a list. The list of cursors is always processed in the same order, as a single link list. With -v, each block is an individual action on behalf of the word shown on the first line. The last line of the block is the conclusion of the action described in the block. REDO means the same cursor must be examined again because the conditions have changed. RESTART means we go back to the first cursor in the list because it may not match the new conditions anymore. NEXT means the cursor and all the cursors before it match the conditions and we may proceed to the next cursor. ATEND means the cursor cannot match the conditions because it is at the end of the index.

ENVIRONMENT
QUERY_STRING options are extracted from QUERY_STRING in a CGI like fashion. MIFLUZ_CONFIG file name of configuration file read by WordContext(3). Defaults to ~/.mifluz.

AUTHORS
Loic Dachary loic@gnu.org The Ht://Dig group http://dev.htdig.org/

SEE ALSO
htdb_dump(1), htdb_stat(1), htdb_load(1), mifluzdump(1), mifluzload(1), mifluzdict(1), WordContext(3), WordList(3), WordDict(3), WordListOne(3), WordKey(3), WordKeyInfo(3), WordType(3), WordDBInfo(3), WordRecordInfo(3), WordRecord(3), WordReference(3), WordCursor(3), WordCursorOne(3), WordMonitor(3), Configuration(3), mifluz(3)