NAME
HTML::Index - Perl modules for creating and searching an index of HTML files
SYNOPSIS
use HTML::Index::Create;
$indexer = HTML::Indexer->new(
VERBOSE => 1,
STOP_WORD_FILE => '/path/to/stopword/file',
DB_DIR => '/path/to/db/directory',
COMPRESS => 1,
REFRESH => 0,
PARSER => 'HTML',
);
for ( ... )
{
my $doc = HTML::Index::Document->new(
name => $name,
contents => $contents,
mod_time => $mod_time,
);
$indexer->index_document( $doc );
}
for ( ... )
{
my $doc = HTML::Index::Document->new( path => $path );
# name, contents, and mod_time are the path, contents and modification
# time of $path
$indexer->index_document( $doc );
}
use HTML::Index::Search;
my $search = HTML::Index::Search->new( DB_DIR => $db_dir );
my @results = $search->search( $q );
DESCRIPTION
HTML::Index is a set of modules for creating an index of HTML documents so that they can be subsequently searched by keywords, or by Boolean combinations of keywords. It was originally inspired by indexer.pl script in the O'Reilly "CGI Programming with Perl, 2nd Edition" book (http://www.oreilly.com/catalog/cgi2/author.html).
All storage operations are contained in the HTML::Index::Store module that can be subclassed to support other storage options (such as BerkeleyDB files, or SQL databases). One such subclass (HTML::Index::Store::BerkeleyBD) is included in the distribution.
The modules can be used to index any HTML documents - whether stored as files, or in a database. They support the use of stopword lists, soundex searches, compression of the inverted indexes using Compress::Zlib, and re-indexing of documents that have changed. A CGI search interface, which can be customized using on HTML::Template templates, is also provided. Search queries can be expressed as compound Boolean expressions, composed of keywords, parentheses, and logical operators (OR, AND, NOT).
SEE ALSO
- HTML::Index::Compress
- HTML::Index::Create
- HTML::Index::Document
- HTML::Index::Filter
- HTML::Index::Search
- HTML::Index::Search::CGI
- HTML::Index::Stats
- HTML::Index::Stopwords
- HTML::Index::Store
- HTML::Index::Store::BerkeleyDB
AUTHOR
Ave Wrigley <Ave.Wrigley@itn.co.uk>
COPYRIGHT
Copyright (c) 2001 Ave Wrigley. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.