Lucy::Index::Snapshot(3) Point-in-time index file list.


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


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.



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

Constructor. Takes no arguments.



Return an array of all entries.


Return the number of entries (including directories).


Add a filepath to the snapshot.


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 the path to the file that the Snapshot object serves as a proxy for.


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


Lucy::Index::Snapshot isa Lucy::Object::Obj.