نديم ابن ﺤﻣﻮﺪﺓ الخمير - Nadim Khemir > Search-Indexer-Incremental-MD5 > Search::Indexer::Incremental::MD5::Indexer

Download:
Search-Indexer-Incremental-MD5-0.06.22.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.02   Source  

NAME ^

Search::Indexer::Incremental::MD5::Indexer - Incrementally index your files

SYNOPSIS ^

  use File::Find::Rule ;
  
  use Readonly ;
  Readonly my $DEFAUT_MAX_FILE_SIZE_INDEXING_THRESHOLD => 300 << 10 ; # 300KB
  
  my $indexer 
        = Search::Indexer::Incremental::MD5::Indexer->new
                (
                USE_POSITIONS => 1, 
                INDEX_DIRECTORY => 'text_index', 
                get_perl_word_regex_and_stop_words(),
                ) ;
  
  my @files = File::Find::Rule
                ->file()
                ->name( '*.pm', '*.pod' )
                ->size( "<=$DEFAUT_MAX_FILE_SIZE_INDEXING_THRESHOLD" )
                ->not_name(qr[auto | unicore | DateTime/TimeZone | DateTime/Locale])
                ->in('.') ;
  
  indexer->add_files(@files) ;
  indexer->add_files(@more_files) ;
  indexer = undef ;

DESCRIPTION ^

This module implements an incremental text indexer and searcher based on Search::Indexer.

DOCUMENTATION ^

Given a list of files, this module will allow you to create an indexed text database that you can later query for matches. You can also use the siim command line application installed with this module.

SUBROUTINES/METHODS ^

new( %named_arguments)

Create a Search::Indexer::Incremental::MD5::Indexer object.

  my $indexer = new Search::Indexer::Incremental::MD5::Indexer(%named_arguments) ;

Arguments - %named_arguments

%named_arguments -

Returns - A Search::Indexer::Incremental::MD5::Indexer object

Exceptions -

add_files($self, %named_arguments)

Adds the contents of the files passed as arguments to the index database. Files already indexed are checked and re-indexed only if their content has changed

Arguments %named_arguments

FILES - Array reference - a list of files to add to the index. The file can either be a:
Scalar - The name of the file to indexed
Hash reference - this is, for example, useful when you want to index the contents of a tarball
NAME - The name of the file to indexed
DESCRIPTION - A user specific description string to be saved within the database
MAXIMUM_DOCUMENT_SIZE - Integer - a warning is displayed for document with greater size
DONE_ONE_FILE_CALLBACK - sub reference - called every time a file is handled
$file_name - the name of the file re-indexed
$file_description - user specific description of the name
$file_info - Hash reference

Returns - Hash reference keyed on the file name

Exceptions

add_file($self, $name, $description)

Arguments

$self -
$name -
$description

Returns - Hash reference containing

Exceptions

remove_files(%named_arguments)

removes the contents of the files passed as arguments from the index database.

Arguments %named_arguments

FILES - Array reference - a list of files to remove from to the index
DONE_ONE_FILE_CALLBACK - sub reference - called every time a file is handled
$file_name - the name of the file removed
$file_description - description of the file
$file_info - Hash reference

Returns - Hash reference keyed on the file name

Exceptions

remove_document_with_id($id, $content)

removes the contents of the files passed as arguments

Arguments

Returns - Nothing

Exceptions - None

check_indexed_files(%named_arguments)

Checks the index database contents.

Arguments %named_arguments

DONE_ONE_FILE_CALLBACK - sub reference - called every time a file is handled
$file_name - the name of the file being checked
$description - description of the file
$file_info - Hash reference containing

Returns - Hash reference keyed on the file name or nothing in void context

Exceptions - None

remove_reference_to_unexisting_documents()

Checks the index database contents and remove any reference to documents that don't exist.

Arguments - None

Returns - Array reference containing the named of the document that don't exist

Exceptions - None

BUGS AND LIMITATIONS ^

None so far.

AUTHOR ^

        Nadim ibn hamouda el Khemir
        CPAN ID: NKH
        mailto: nadim@cpan.org

LICENSE AND COPYRIGHT ^

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

SUPPORT ^

You can find documentation for this module with the perldoc command.

    perldoc Search::Indexer::Incremental::MD5

You can also look for information at:

SEE ALSO ^

syntax highlighting: