xref: /original-bsd/contrib/bib/man/invert.1 (revision b4971bb3)
"@(#)invert.1 4.5 05/27/93";
INVERT 1 "2 September 1983"
C 4
NAME
invert, lookup - create and access an inverted index
SYNOPSIS
invert [option ... ] file ... .ns

lookup [option ... ]

DESCRIPTION
Invert creates an inverted index to one or more files. Lookup retrieves records from files for which an inverted index exists. The inverted indices are intended for use with bib (1).

Invert creates one inverted index to all of its input files. The index must be stored in the current directory and may not be moved. Input files may be absolute path names or paths relative to the current directory. Each input file is viewed as a set of records; each record consists of non-blank lines; records are separated by blank lines.

Lookup retrieves records based on its input (stdin). Each line of input is a retrieval request. All records that contain all of the keywords in the retrieval request are sent to stdout. If there are no matching references, ``No references found.'' is sent to stdout. Lookup first searches in the user's private index (default INDEX) and then, if no references are found, in the system index (/usr/dict/papers/INDEX). The system index was produced using invert with the default options; in general, the user is advised to use the defaults.

Keywords are a sequence of non-white space characters with non-alphanumeric characters removed. Keywords must be at least two characters and are truncated (default length is 6). Some common words are ignored. Some lines of input are ignored for the purpose of collecting keywords.

The following options are available for invert:

"-c file" 8m
.ns
-cfile
File contains common words, one per line. Common words are not used as keys. (Default /usr/new/lib/bmac/common.)
"-k i"
.ns
-ki
Maximum number of keys kept per record. (Default 100)
"-l i"
.ns
-li
Maximum length of keys. (Default 6)
"-p file"
.ns
-pfile
File is the name of the private index file (output of invert ). (Default is INDEX.) The index must be stored in the current directory. (Be careful of the second form. The shell will not know to expand the file name. E.g. -p~/index won't work; use -p ~/index.)
-s
Silent. Suppress statistics.
-%str
Ignore lines that begin with %x where x is in str. (Default is CNOPVX. See bib (1) for explanation of field names.)

Lookup has only the options c , l , and p with the same meanings as bib. In particular, the p option can be followed by a list of comma separated index files. These are searched in order from left to right until at least one reference is found.

FILES
INDEX inverted index

/usr/tmp/invertxxxxxx scratch file for invert

/usr/new/lib/bmac/common default list of common words

/usr/dict/papers/INDEX default system index

SEE ALSO
A UNIX Bibliographic Database Facility, Timothy A. Budd and Gary M. Levin, University of Arizona Technical Report 82-1, 1982.

bib(1)

DIAGNOSTICS
Messages indicating trouble accessing files are sent on stderr. There is an explicit message on stdout from lookup if no references are found.

Invert produces a one line message of the form, \*(oq%D documents %D distinct keys %D key occurrences\*(cq. This can be suppressed with the -s option.

The message \*(oqlocate: first key (%s) matched too many refs\*(cq indicates that the first key matched more references than could be stored in memory. The simple solution is to use a less frequently occurring key as the first key in the citation.

BUGS
No attempt is made to check the compatibility between an index and the files indexed. The user must create a new index whenever the files that are indexed are modified.

Attempting to invert a file containing unprintable characters can cause chaos.