NAME

KinoSearch::Index::Snapshot - Point-in-time index file list.

DEPRECATED

The KinoSearch code base has been assimilated by the Apache Lucy project. The "KinoSearch" namespace has been deprecated, but development continues under our new name at our new home: http://lucy.apache.org/

SYNOPSIS

my $snapshot = KinoSearch::Index::Snapshot->new;
$snapshot->read_file( folder => $folder );    # load most recent snapshot
my $files = $snapshot->list;
print "$_\n" for @$files;

DESCRIPTION

A Snapshot is list of index files and folders. Because index files, once written, are never modified, a Snapshot defines a point-in-time view of the data in an index.

IndexReader objects interpret the data associated with a single Snapshot.

CONSTRUCTORS

new()

my $snapshot = KinoSearch::Index::Snapshot->new;

Constructor. Takes no arguments.

METHODS

list()

Return an array of all entries.

num_entries()

Return the number of entries (including directories).

add_entry(entry)

Add a filepath to the snapshot.

delete_entry(entry)

Delete a filepath from the snapshot.

Returns: true if the entry existed and was successfully deleted, false otherwise.

read_file( [labeled params] )

Decode a snapshot file and initialize the object to reflect its contents.

  • folder - A Folder.

  • path - The location of the snapshot file. If not supplied, the most recent snapshot file in the base directory will be chosen.

Returns: the object, allowing an assignment idiom.

write_file( [labeled params] )

Write a snapshot file. The caller must lock the index while this operation takes place, and the operation will fail if the snapshot file already exists.

  • folder - A Folder.

  • path - The path of the file to write. If undef, a file name will be chosen which supersedes the latest snapshot file in the index folder.

set_path(path)

Set the path to the file that the Snapshot object serves as a proxy for.

get_path()

Get the path to the snapshot file. Initially undef; updated by read_file(), write_file(), and set_path().

INHERITANCE

KinoSearch::Index::Snapshot isa KinoSearch::Object::Obj.

COPYRIGHT AND LICENSE

Copyright 2005-2011 Marvin Humphrey

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