Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
KinoSearch1::InvIndexeUser Contributed Perl DocumentKinoSearch1::InvIndexer(3)

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.01.

perl v5.32.0			  2020-08-09	    KinoSearch1::InvIndexer(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | COPYRIGHT | LICENSE, DISCLAIMER, BUGS, etc.

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=KinoSearch1::InvIndexer&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help