NAME
WebService::Lucene - Module to interface with the Lucene indexing webservice
SYNOPSIS
# Connect to the web service
$ws = WebService::Lucene->new( $url );
# Create an index
$ndex = $ws->create_index( $index );
# Get a particular index
$index = $ws->get_index( $name );
# Index a document
$document = $index->add_document( $document );
# Get a document
$document = $index->get_document( $id );
# Delete the document
$document->delete;
# Search an index
$results = $index->search( $query );
# Get documents from search
@documents = $results->documents;
# Delete an index
$index->delete;
DESCRIPTION
This module is a Perl API in to the Lucene indexing web service. http://lucene-ws.net/
METHODS
new( $url )
This method will connect to the Lucene Web Service located at $url
.
my $ws = WebService::Lucene->new( 'http://localhost:8080/lucene/' );
base_url( [$url] )
Accessor for the base url of the service.
get_index( $name )
Retuens an WebService::Lucene::Index object for $name
.
indexes( )
Alias for indices
indices( )
Returns an array of WebService::Lucene::Index objects.
properties( [$properties] )
Hash reference to a list of properties for the service.
_fetch_service_properties( )
Grabs the service.properties
documents and sends the contents to _parse_service_properties
.
_parse_service_properties( $xml )
Parses the XML and populates the object's properties
_fetch_service_document( )
Connects to the service url and passes the contents on to _parse_service_document
.
_parse_service_document( $xml )
Parses the Atom Publishing Protocol introspection document and populates the service's indices
.
title( [$title] )
Accessor for the title of the service.
_fetch_content( $url )
Shortcut for fetching the content at $url
.
create_index( $name )
Creates the index on the server and returns the WebService::Lucene::Index object.
delete_index( $name )
Deletes an index.
update( )
Updates the service.properties
document.
_properties_as_entry( )
Genereates an XML::Atom::Entry suitable for updating the service.properties
document.
search( $indices, $query, [$params] )
Searches one or more indices for $query
. Returns an WebService::Lucene::Results object.
my $results = $ws->search( [ 'index1', 'index2' ], 'foo' );
facets( $indices, [$params] )
Gets facets for one or more indices. Returns an WebService::Lucene::Results object.
my $results = $ws->facets( [ 'index1', 'index2' ] );
SEE ALSO
http://lucene-ws.net/
AUTHORS
Brian Cassidy <bricas@cpan.org>
Adam Paynter <adapay@cpan.org>
COPYRIGHT AND LICENSE
Copyright 2006-2009 National Adult Literacy Database
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.