Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

kinosearch1::queryparser::queryparser(3pm) [debian man page]

KinoSearch1::QueryParser::QueryParser(3pm)		User Contributed Perl Documentation		KinoSearch1::QueryParser::QueryParser(3pm)

NAME
KinoSearch1::QueryParser::QueryParser - transform a string into a Query object SYNOPSIS
my $query_parser = KinoSearch1::QueryParser::QueryParser->new( analyzer => $analyzer, fields => [ 'bodytext' ], ); my $query = $query_parser->parse( $query_string ); my $hits = $searcher->search( query => $query ); DESCRIPTION
The QueryParser accepts search strings as input and produces Query objects, suitable for feeding into KinoSearch1::Searcher. Syntax The following constructs are recognized by QueryParser. o Boolean operators 'AND', 'OR', and 'AND NOT'. o Prepented +plus and -minus, indicating that the labeled entity should be either required or forbidden -- be it a single word, a phrase, or a parenthetical group. o Logical groups, delimited by parentheses. o Phrases, delimited by double quotes. o Field-specific terms, in the form of "fieldname:termtext". (The field specified by fieldname will be used instead of the QueryParser's default fields). A field can also be given to a logical group, in which case it is the same as if the field had been prepended onto every term in the group. For example: "foo:(bar baz)" is the same as "foo:bar foo:baz". METHODS
new my $query_parser = KinoSearch1::QueryParser::QueryParser->new( analyzer => $analyzer, # required fields => [ 'bodytext' ], # required default_boolop => 'AND', # default: 'OR' ); Constructor. Takes hash-style parameters: o analyzer - An object which subclasses KinoSearch1::Analysis::Analyzer. This must be identical to the Analyzer used at index-time, or the results won't match up. o fields - the names of the fields which will be searched against. Must be supplied as an arrayref. o default_field - deprecated. Use "fields" instead. o default_boolop - two possible values: 'AND' and 'OR'. The default is 'OR', which means: return documents which match any of the query terms. If you want only documents which match all of the query terms, set this to 'AND'. parse my $query = $query_parser->parse( $query_string ); Turn a query string into a Query object. Depending on the contents of the query string, the returned object could be any one of several subclasses of KinoSearch1::Search::Query. COPYRIGHT
Copyright 2005-2010 Marvin Humphrey LICENSE, DISCLAIMER, BUGS, etc. See KinoSearch1 version 1.00. perl v5.14.2 2011-11-15 KinoSearch1::QueryParser::QueryParser(3pm)

Check Out this Related Man Page

KinoSearch1::Search::Hits(3pm)				User Contributed Perl Documentation			    KinoSearch1::Search::Hits(3pm)

NAME
KinoSearch1::Search::Hits - access search results SYNOPSIS
my $hits = $searcher->search( query => $query ); $hits->seek( 0, 10 ); while ( my $hashref = $hits->fetch_hit_hashref ) { print "<p>$hashref->{title} <em>$hashref->{score}</em></p> "; } DESCRIPTION
Hits objects are used to access the results of a search. By default, a hits object provides access to the top 100 matches; the seek() method provides finer-grained control. A classic application would be paging through hits. The first time, seek to a START of 0, and retrieve 10 documents. If the user wants to see more -- and there are more than 10 total hits -- seek to a START of 10, and retrieve 10 more documents. And so on. METHODS
seek $hits->seek( START, NUM_TO_RETRIEVE ); Position the Hits iterator at START, and capture NUM_TO_RETRIEVE docs. total_hits my $num_that_matched = $hits->total_hits; Return the total number of documents which matched the query used to produce the Hits object. (This number is unlikely to match NUM_TO_RETRIEVE.) fetch_hit while ( my $hit = $hits->fetch_hit ) { # ... } Return the next hit as a KinoSearch1::Search::Hit object. fetch_hit_hashref while ( my $hashref = $hits->fetch_hit_hashref ) { # ... } Return the next hit as a hashref, with the field names as keys and the field values as values. An entry for "score" will also be present, as will an entry for "excerpt" if create_excerpts() was called earlier. However, if the document contains stored fields named "score" or "excerpt", they will not be clobbered. create_excerpts my $highlighter = KinoSearch1::Highlight::Highlighter->new( excerpt_field => 'bodytext', ); $hits->create_excerpts( highlighter => $highlighter ); Use the supplied highlighter to generate excerpts. See KinoSearch1::Highlight::Highlighter. COPYRIGHT
Copyright 2005-2010 Marvin Humphrey LICENSE, DISCLAIMER, BUGS, etc. See KinoSearch1 version 1.00. perl v5.14.2 2011-11-15 KinoSearch1::Search::Hits(3pm)
Man Page