.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) .\" .\" 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 turned on, 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 .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Lucy::Search::Searcher 3pm" .TH Lucy::Search::Searcher 3pm "2015-03-06" "perl v5.20.2" "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" Lucy::Search::Searcher \- Base class for searching collections of documents. .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& # Abstract base class. .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" Abstract base class for objects which search. Core subclasses include Lucy::Search::IndexSearcher and Lucy::Search::PolySearcher. .SH "CONSTRUCTORS" .IX Header "CONSTRUCTORS" .SS "new( \fI[labeled params]\fP )" .IX Subsection "new( [labeled params] )" .Vb 7 \& package MySearcher; \& use base qw( Lucy::Search::Searcher ); \& sub new { \& my $self = shift\->SUPER::new; \& ... \& return $self; \& } .Ve .PP Abstract constructor. .IP "\(bu" 4 \&\fBschema\fR \- A Schema. .SH "ABSTRACT METHODS" .IX Header "ABSTRACT METHODS" .SS "collect( \fI[labeled params]\fP )" .IX Subsection "collect( [labeled params] )" Iterate over hits, feeding them into a Collector. .IP "\(bu" 4 \&\fBquery\fR \- A Query. .IP "\(bu" 4 \&\fBcollector\fR \- A Collector. .SS "\fIdoc_max()\fP" .IX Subsection "doc_max()" Return the maximum number of docs in the collection represented by the Searcher, which is also the highest possible internal doc id. Documents which have been marked as deleted but not yet purged are included in this count. .SS "doc_freq( \fI[labeled params]\fP )" .IX Subsection "doc_freq( [labeled params] )" Return the number of documents which contain the term in the given field. .IP "\(bu" 4 \&\fBfield\fR \- Field name. .IP "\(bu" 4 \&\fBterm\fR \- The term to look up. .SS "fetch_doc(doc_id)" .IX Subsection "fetch_doc(doc_id)" Retrieve a document. Throws an error if the doc id is out of range. .IP "\(bu" 4 \&\fBdoc_id\fR \- A document id. .SH "METHODS" .IX Header "METHODS" .SS "hits( \fI[labeled params]\fP )" .IX Subsection "hits( [labeled params] )" Return a Hits object containing the top results. .IP "\(bu" 4 \&\fBquery\fR \- Either a Query object or a query string. .IP "\(bu" 4 \&\fBoffset\fR \- The number of most-relevant hits to discard, typically used when \*(L"paging\*(R" through hits N at a time. Setting \&\f(CW\*(C`offset\*(C'\fR to 20 and \f(CW\*(C`num_wanted\*(C'\fR to 10 retrieves hits 21\-30, assuming that 30 hits can be found. .IP "\(bu" 4 \&\fBnum_wanted\fR \- The number of hits you would like to see after \&\f(CW\*(C`offset\*(C'\fR is taken into account. .IP "\(bu" 4 \&\fBsort_spec\fR \- A Lucy::Search::SortSpec, which will affect how results are ranked and returned. .SS "glean_query(query)" .IX Subsection "glean_query(query)" If the supplied object is a Query, return it; if it's a query string, create a QueryParser and parse it to produce a query against all indexed fields. .SS "\fIget_schema()\fP" .IX Subsection "get_schema()" Accessor for the object's \f(CW\*(C`schema\*(C'\fR member. .SH "INHERITANCE" .IX Header "INHERITANCE" Lucy::Search::Searcher isa Lucy::Object::Obj.