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::Searcher(3pm)				User Contributed Perl Documentation				KinoSearch1::Searcher(3pm)

NAME
KinoSearch1::Searcher - execute searches SYNOPSIS
my $analyzer = KinoSearch1::Analysis::PolyAnalyzer->new( language => 'en', ); my $searcher = KinoSearch1::Searcher->new( invindex => $invindex, analyzer => $analyzer, ); my $hits = $searcher->search( query => 'foo bar' ); DESCRIPTION
Use the Searcher class to perform queries against an invindex. METHODS
new my $searcher = KinoSearch1::Searcher->new( invindex => $invindex, analyzer => $analyzer, ); Constructor. Takes two labeled parameters, both of which are required. o invindex - can be either a path to an invindex, or a KinoSearch1::Store::InvIndex object. o analyzer - An object which subclasses KinoSearch1::Analysis::Analyer, such as a PolyAnalyzer. This must be identical to the Analyzer used at index-time, or the results won't match up. search my $hits = $searcher->search( query => $query, # required filter => $filter, # default: undef (no filtering) ); Process a search and return a Hits object. search() expects labeled hash-style parameters. o query - Can be either an object which subclasses KinoSearch1::Search::Query, or a query string. If it's a query string, it will be parsed using a QueryParser and a search will be performed against all indexed fields in the invindex. For more sophisticated searching, supply Query objects, such as TermQuery and BooleanQuery. o filter - Must be a KinoSearch1::Search::QueryFilter. Search results will be limited to only those documents which pass through the filter. Caching a Searcher When a Searcher is created, a small portion of the invindex is loaded into memory. For large document collections, this startup time may become noticeable, in which case reusing the searcher is likely to speed up your search application. Caching a Searcher is especially helpful when running a high-activity app under mod_perl. Searcher objects always represent a snapshot of an invindex as it existed when the Searcher was created. If you want the search results to reflect modifications to an invindex, you must create a new Searcher after the update process completes. COPYRIGHT
Copyright 2005-2010 Marvin Humphrey LICENSE, DISCLAIMER, BUGS, etc. See KinoSearch1 version 1.00. perl v5.14.2 2011-11-15 KinoSearch1::Searcher(3pm)
Man Page