![]() |
![]()
| ![]() |
![]()
NAMEKinoSearch1::InvIndexer - build inverted indexesSYNOPSISuse 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; DESCRIPTIONThe InvIndexer class is KinoSearch1's primary tool for creating and modifying inverted indexes, which may be searched using KinoSearch1::Searcher.METHODSnewmy $invindexer = KinoSearch1::InvIndexer->new( invindex => '/path/to/invindex', # required create => 1, # default: 0 analyzer => $analyzer, # default: no-op Analyzer ); Create an InvIndexer object.
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.
new_docmy $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_invindexesmy $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_termmy $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.
COPYRIGHTCopyright 2005-2010 Marvin HumphreyLICENSE, DISCLAIMER, BUGS, etc.See KinoSearch1 version 1.01.
|