Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

kinosearch1::searcher(3pm) [debian 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)

Check Out this Related Man Page

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

NAME
KinoSearch1::InvIndexer - build inverted indexes SYNOPSIS
use KinoSearch1::InvIndexer; use KinoSearch1::Analysis::PolyAnalyzer; my $analyzer = KinoSearch1::Analysis::PolyAnalyzer->new( language => 'en' ); my $invindexer = KinoSearch1::InvIndexer->new( invindex => '/path/to/invindex', create => 1, analyzer => $analyzer, ); $invindexer->spec_field( name => 'title' boost => 3, ); $invindexer->spec_field( name => 'bodytext' ); while ( my ( $title, $bodytext ) = each %source_documents ) { my $doc = $invindexer->new_doc($title); $doc->set_value( title => $title ); $doc->set_value( bodytext => $bodytext ); $invindexer->add_doc($doc); } $invindexer->finish; DESCRIPTION
The InvIndexer class is KinoSearch1's primary tool for creating and modifying inverted indexes, which may be searched using KinoSearch1::Searcher. METHODS
new my $invindexer = KinoSearch1::InvIndexer->new( invindex => '/path/to/invindex', # required create => 1, # default: 0 analyzer => $analyzer, # default: no-op Analyzer ); Create an InvIndexer object. o invindex - can be either a filepath, or an InvIndex subclass such as KinoSearch1::Store::FSInvIndex or KinoSearch1::Store::RAMInvIndex. o create - create a new invindex, clobbering an existing one if necessary. o analyzer - an object which subclasses KinoSearch1::Analysis::Analyzer, such as a PolyAnalyzer. spec_field $invindexer->spec_field( name => 'url', # required boost => 1, # default: 1, analyzer => undef, # default: analyzer spec'd in new() indexed => 0, # default: 1 analyzed => 0, # default: 1 stored => 1, # default: 1 compressed => 0, # default: 0 vectorized => 0, # default: 1 ); Define a field. o name - the field's name. o boost - A multiplier which determines how much a field contributes to a document's score. o analyzer - By default, all indexed fields are analyzed using the analyzer that was supplied to new(). Supplying an alternate for a given field overrides the primary analyzer. o indexed - index the field, so that it can be searched later. o analyzed - analyze the field, using the relevant Analyzer. Fields such as "category" or "product_number" might be indexed but not analyzed. o stored - store the field, so that it can be retrieved when the document turns up in a search. o compressed - compress the stored field, using the zlib compression algorithm. o vectorized - store the field's "term vectors", which are required by KinoSearch1::Highlight::Highlighter for excerpt selection and search term highlighting. new_doc my $doc = $invindexer->new_doc; Spawn an empty KinoSearch1::Document::Doc object, primed to accept values for the fields spec'd by spec_field. add_doc $invindexer->add_doc($doc); Add a document to the invindex. add_invindexes my $invindexer = KinoSearch1::InvIndexer->new( invindex => $invindex, analyzer => $analyzer, ); $invindexer->add_invindexes( $another_invindex, $yet_another_invindex ); $invindexer->finish; Absorb existing invindexes into this one. May only be called once per InvIndexer. add_invindexes() and add_doc() cannot be called on the same InvIndexer. delete_docs_by_term my $term = KinoSearch1::Index::Term->new( 'id', $unique_id ); $invindexer->delete_docs_by_term($term); Mark any document which contains the supplied term as deleted, so that it will be excluded from search results. For more info, see Deletions in KinoSearch1::Docs::FileFormat. finish $invindexer->finish( optimize => 1, # default: 0 ); Finish the invindex. Invalidates the InvIndexer. Takes one hash-style parameter. o optimize - If optimize is set to 1, the invindex will be collapsed to its most compact form, which will yield the fastest queries. COPYRIGHT
Copyright 2005-2010 Marvin Humphrey LICENSE, DISCLAIMER, BUGS, etc. See KinoSearch1 version 1.00. perl v5.14.2 2011-11-15 KinoSearch1::InvIndexer(3pm)
Man Page

Featured Tech Videos