.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "PERLINDEX 1p" .TH PERLINDEX 1p "2023-03-25" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" perlindex \- index and query perl manual pages .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& perlindex \-index \& \& perlindex tell me where the flowers are .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" "\f(CW\*(C`perlindex \-index\*(C'\fR\*(L" generates an AnyDBM_File index which can be searched with free text queries \*(R"\f(CW\*(C`perlindex\*(C'\fR \fIa verbose query\fR". .PP Each word of the query is searched in the index and a score is generated for each document containing it. Scores for all words are added and the documents with the highest score are printed. All words are stemed with Porters algorithm (see Text::English) before indexing and searching happens. .PP The score is computed as: .PP .Vb 2 \& $score{$document} += $tf{$word,$document}/$maxtf{$document} \& * log ($N/$n{$word}); .Ve .PP where .ie n .IP "$N" 10 .el .IP "\f(CW$N\fR" 10 .IX Item "$N" is the number of documents in the index, .ie n .IP "$n{$word}" 10 .el .IP "\f(CW$n{$word}\fR" 10 .IX Item "$n{$word}" is the number of documents containing the \fIword\fR, .ie n .IP "$tf{$word,$document}" 10 .el .IP "\f(CW$tf{$word,$document}\fR" 10 .IX Item "$tf{$word,$document}" is the number of occurrences of \fIword\fR in the \fIdocument\fR, and .ie n .IP "$maxtf{$document}" 10 .el .IP "\f(CW$maxtf{$document}\fR" 10 .IX Item "$maxtf{$document}" is the maximum frequency of any word in \fIdocument\fR. .SH "OPTIONS" .IX Header "OPTIONS" All options may be abbreviated. .IP "\fB\-maxhits\fR maxhits" 10 .IX Item "-maxhits maxhits" Maximum numer of hits to display. Default is 15. .IP "\fB\-menu\fR" 10 .IX Item "-menu" .PD 0 .IP "\fB\-nomenu\fR" 10 .IX Item "-nomenu" .PD Use the matches as menu for calling \f(CW\*(C`man\*(C'\fR. Default is \fB\-menu\fR.q .IP "\fB\-cbreak\fR" 10 .IX Item "-cbreak" .PD 0 .IP "\fB\-nocbreak\fR" 10 .IX Item "-nocbreak" .PD Switch to cbreak in menu mode or don't. \fB\-cbreak\fR is the default. .IP "\fB\-verbose\fR" 10 .IX Item "-verbose" Generates additional information which query words have been not found in the database and which words of the query are stopwords. .IP "\fB\-conf\fR" 10 .IX Item "-conf" Use another config than the default config (/etc/perlindex/config). .SH "EXAMPLE" .IX Header "EXAMPLE" .Vb 1 \& perlindex foo bar \& \& 1 3.735 lib/pod/perlbot.pod \& 2 2.640 lib/pod/perlsec.pod \& 3 2.153 lib/pod/perldata.pod \& 4 1.920 lib/Symbol.pm \& 5 1.802 lib/pod/perlsub.pod \& 6 1.586 lib/Getopt/Long.pm \& 7 1.190 lib/File/Path.pm \& 8 1.042 lib/pod/perlop.pod \& 9 0.857 lib/pod/perlre.pod \& a 0.830 lib/Shell.pm \& b 0.691 lib/strict.pm \& c 0.691 lib/Carp.pm \& d 0.680 lib/pod/perlpod.pod \& e 0.680 lib/File/Find.pm \& f 0.626 lib/pod/perlsyn.pod \& Enter Number or \*(Aqq\*(Aq> .Ve .PP Hitting the keys \f(CW1\fR to \f(CW\*(C`f\*(C'\fR will display the corresponding manual page. Hitting \f(CW\*(C`q\*(C'\fR quits. All other keys display this manual page. .SH "FILES" .IX Header "FILES" The index will be generated in your man directory. Strictly speaking in \&\f(CW\*(C`$Config{man1direxp}/..\*(C'\fR .PP .Vb 1 \& The following files will be generated: \& \& index_fn # docid \-> (max frequency, filename) \& index_idf # term \-> number of documents containing term \& index_if # term \-> (docid, frequency)* \& index_seen # fn \-> indexed? .Ve .SH "AUTHOR" .IX Header "AUTHOR" Ulrich Pfeifer <\fIpfeifer@ls6.informatik.uni\-dortmund.de\fR>