| Search-Xapian documentation | Contained in the Search-Xapian distribution. |
Search::Xapian::Database - Search database object
This class represents a Xapian database for searching. See Search::Xapian::WritableDatabase for an object suitable for indexing. To perform searches, this class works with the Search::Xapian::Query object.
Class constructor. Can either take a path to an existing database or another database class as the first parameter
Return a clone of this class.
Add an existing database (or group of databases) to those accessed by this object.
This re-opens the database(s) to the latest available version(s). It can be used either to make sure the latest results are returned, or to recover from a Xapian::DatabaseModifiedError.
Close the database. This also implies a commit() unless a transaction is in progress.
Returns a new Search::Xapian::Enquire object. Any extra parameters are passed to set_query.
Returns the number of document indexed in this database.
Returns the id of the last used document.
Returns the length of a given document.
Returns a Search::Xapian::Document object for the given document.
Get the average length of the documents in the database.
Get the number of documents in the database indexed by a given term.
returns true if this term exists in the database, or false otherwise.
return a description of this object.
returns a suggested spelling correction.
Returns a Search::Xapian::TermIterator iterating over the termlist for the the entire database. If the optional prefix argument is non-empty, only terms starting with that string are returned.
Returns a Search::Xapian::TermIterator pointing to the end of the termlist corresponding to allterms_begin.
Returns a Search::Xapian::TermIterator pointing to the start of the termlist for a given document.
Returns a Search::Xapian::TermIterator pointing to the end of the termlist for a given document.
Returns a Search::Xapian::PositionIterator pointing to the start of the position list for a given term in the given document.
Returns a Search::Xapian::PositionIterator pointing to the end of the position list for a given term in the given document.
Returns a Search::Xapian::PostingIterator pointing to the start of the posting list for a given term.
Returns a Search::Xapian::PostingIterator pointing to the end of the posting list for a given term.
Send a "keep-alive" to remote databases to stop them timing out.
Get the number of elements indexed by a certain term.
Search::Xapian,Search::Xapian::Enquire,Search::Xapian::WritableDatabase
| Search-Xapian documentation | Contained in the Search-Xapian distribution. |
package Search::Xapian::Database; use 5.006; use strict; use warnings; use Carp; use Search::Xapian::Enquire; require DynaLoader; our @ISA = qw(DynaLoader); # In a new thread, copy objects of this class to unblessed, undef values. sub CLONE_SKIP { 1 } # Preloaded methods go here. use overload '=' => sub { $_[0]->clone() }, 'fallback' => 1; sub enquire { my $self = shift; my $enquire = Search::Xapian::Enquire->new( $self ); if( @_ ) { $enquire->set_query( @_ ); } return $enquire; } sub clone() { my $self = shift; my $class = ref( $self ); my $copy = new2( $self ); bless $copy, $class; return $copy; } sub new() { my $class = shift; my $database; my $invalid_args; if( scalar(@_) == 1 ) { my $arg = shift; my $arg_class = ref( $arg ); if( !$arg_class ) { $database = new1( $arg ); } elsif( $arg_class eq $class ) { $database = new2( $arg ); } else { $invalid_args = 1; } } else { $invalid_args = 1; } if( $invalid_args ) { Carp::carp( "USAGE: $class->new(\$file), $class->new(\$database)" ); exit; } bless $database, $class; return $database; } 1; __END__