KinoSearch::Index::Segment man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

KinoSearch::Index::SegUser(Contributed Perl DocumKinoSearch::Index::Segment(3)

NAME
       KinoSearch::Index::Segment - Warehouse for information about one
       segment of an inverted index.

SYNOPSIS
	   # Index-time.
	   package MyDataWriter;
	   use base qw( KinoSearch::Index::DataWriter );

	   sub finish {
	       my $self	    = shift;
	       my $segment  = $self->get_segment;
	       my $metadata = $self->SUPER::metadata();
	       $metadata->{foo} = $self->get_foo;
	       $segment->store_metadata(
		   key	     => 'my_component',
		   metadata  => $metadata
	       );
	   }

	   # Search-time.
	   package MyDataReader;
	   use base qw( KinoSearch::Index::DataReader );

	   sub new {
	       my $self	    = shift->SUPER::new(@_);
	       my $segment  = $self->get_segment;
	       my $metadata = $segment->fetch_metadata('my_component');
	       if ($metadata) {
		   $self->set_foo( $metadata->{foo} );
		   ...
	       }
	       return $self;
	   }

DESCRIPTION
       KinoSearch's indexes are made up of individual "segments", each of
       which is is an independent inverted index.  On the file system, each
       segment is a directory within the main index directory whose name
       starts with "seg_": "seg_2", "seg_5a", etc.

       Each Segment object keeps track of information about an index segment:
       its fields, document count, and so on.  The Segment object itself
       writes one file, "segmeta.json"; besides storing info needed by Segment
       itself, the "segmeta" file serves as a central repository for metadata
       generated by other index components -- relieving them of the burden of
       storing metadata themselves.

METHODS
   add_field(field)
       Register a new field and assign it a field number.  If the field was
       already known, nothing happens.

       ·   field - Field name.

       Returns: the field's field number, which is a positive integer.

   store_metadata( [labeled params] )
       Store arbitrary information in the segment's metadata Hash, to be
       serialized later.  Throws an error if "key" is used twice.

       ·   key - String identifying an index component.

       ·   metadata - JSON-izable data structure.

   fetch_metadata(key)
       Fetch a value from the Segment's metadata hash.

   field_num(field)
       Given a field name, return its field number for this segment (which may
       differ from its number in other segments).  Return 0 (an invalid field
       number) if the field name can't be found.

       ·   field - Field name.

   field_name(field_num)
       Given a field number, return the name of its field, or undef if the
       field name can't be found.

   get_name()
       Getter for the object's seg name.

   get_number()
       Getter for the segment number.

   set_count(count)
       Setter for the object's document count.

   get_count()
       Getter for the object's document count.

INHERITANCE
       KinoSearch::Index::Segment isa KinoSearch::Object::Obj.

COPYRIGHT AND LICENSE
       Copyright 2005-2010 Marvin Humphrey

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.14.1			  2011-06-20	 KinoSearch::Index::Segment(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net