GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  KINOSEARCH1::INVINDEXER (3)

.ds Aq ’

NAME

KinoSearch1::InvIndexer - build inverted indexes

CONTENTS

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 <B>invindexB> - can be either a filepath, or an InvIndex subclass such as KinoSearch1::Store::FSInvIndex or KinoSearch1::Store::RAMInvIndex.
o <B>createB> - create a new invindex, clobbering an existing one if necessary.
o <B>analyzerB> - 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 specd 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 <B>nameB> - the field’s name.
o <B>boostB> - A multiplier which determines how much a field contributes to a document’s score.
o <B>analyzerB> - 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 <B>indexedB> - index the field, so that it can be searched later.
o <B>analyzedB> - analyze the field, using the relevant Analyzer. Fields such as category or product_number might be indexed but not analyzed.
o <B>storedB> - store the field, so that it can be retrieved when the document turns up in a search.
o <B>compressedB> - compress the stored field, using the zlib compression algorithm.
o <B>vectorizedB> - 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 <B>optimizeB> - 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.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 KINOSEARCH1::INVINDEXER (3) 2016-03-17

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.