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.

fetchservice_properties( )
Grabs the "service.properties" documents and sends the contents to "parseservice_properties".

parseservice_properties( $xml )
Parses the XML and populates the object's "properties"

fetchservice_document( )
Connects to the service url and passes the contents on to "parseservice_document".

parseservice_document( $xml )
Parses the Atom Publishing Protocol introspection document and populates the service's "indices".

title( [$title] )
Accessor for the title of the service.

fetchcontent( $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.

propertiesas_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

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.