<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">NAME
    WebService::Solr - Module to interface with the Solr (Lucene) webservice

SYNOPSIS
        my $solr = WebService::Solr-&gt;new;
        $solr-&gt;add( @docs );
        
        my $response = $solr-&gt;search( $query );
        for my $doc ( $response-&gt;docs ) {
            print $doc-&gt;value_for( $id );
        }

DESCRIPTION
    WebService::Solr is a client library for Apache Lucene's Solr; an
    enterprise-grade indexing and searching platform.

ACCESSORS
    *   url - the webservice base url

    *   agent - a user agent object

    *   autocommit - a boolean value for automatic commit() after
        add/update/delete (default: enabled)

    *   default_params - a hashref of parameters to send on every request

HTTP KEEP-ALIVE
    Enabling HTTP Keep-Alive is as simple as passing your custom user-agent
    to the constructor.

        my $solr = WebService::Solr-&gt;new( $url,
            { agent =&gt; LWP::UserAgent-&gt;new( keep_alive =&gt; 1 ) }
        );

    Visit LWP::UserAgent's documentation for more information and available
    options.

METHODS
  new( $url, \%options )
    Creates a new WebService::Solr instance. If $url is omitted, then
    "http://localhost:8983/solr" is used as a default. Available options are
    listed in the ACCESSORS section.

  BUILDARGS( @args )
    A Moose override to allow our custom constructor.

  add( $doc|\@docs, \%options )
    Adds a number of documents to the index. Returns true on success, false
    otherwise. A document can be a WebService::Solr::Document object or a
    structure that can be passed to "WebService::Solr::Document-&gt;new".
    Available options as of Solr 1.4 are:

    *   overwrite (default: true) - Replace previously added documents with
        the same uniqueKey

    *   commitWithin (in milliseconds) - The document will be added within
        the specified time

  update( $doc|\@docs, \%options )
    Alias for "add()".

  delete( \%options )
    Deletes documents matching the options provided. The delete operation
    currently accepts "query" and "id" parameters. Multiple values can be
    specified as array references.

        # delete documents matching "title:bar" or uniqueId 13 or 42
        $solr-&gt;delete( {
            query =&gt; 'title:bar',
            id    =&gt; [ 13, 42 ],
        } );

  delete_by_id( $id )
    Deletes all documents matching the id specified. Returns true on
    success, false otherwise.

  delete_by_query( $query )
    Deletes documents matching $query. Returns true on success, false
    otherwise.

  search( $query, \%options )
    Searches the index given a $query. Returns a WebService::Solr::Response
    object. All key-value pairs supplied in "\%options" are serialzied in
    the request URL.

  auto_suggest( \%options )
    Get suggestions from a list of terms for a given field. The Solr wiki
    has more details about the available options
    (http://wiki.apache.org/solr/TermsComponent)

  commit( \%options )
    Sends a commit command. Returns true on success, false otherwise. You
    must do a commit after an add, update or delete. By default, autocommit
    is enabled. You may disable autocommit to allow you to issue commit
    commands manually:

        my $solr = WebService::Solr-&gt;new( undef, { autocommit =&gt; 0 } );
        $solr-&gt;add( $doc ); # will not automatically call commit()
        $solr-&gt;commit;

    Options as of Solr 1.4 include:

    *   maxSegments (default: 1) - Optimizes down to at most this number of
        segments

    *   waitFlush (default: true) - Block until index changes are flushed to
        disk

    *   waitSearcher (default: true) - Block until a new searcher is opened

    *   expungeDeletes (default: false) - Merge segments with deletes away

  rollback( )
    This method will rollback any additions/deletions since the last commit.

  optimize( \%options )
    Sends an optimize command. Returns true on success, false otherwise.

    Options as of Solr 1.4 are the same as "commit()".

  ping( )
    Sends a basic ping request. Returns true on success, false otherwise.

  generic_solr_request( $path, \%query )
    Performs a simple "GET" request appending $path to the base URL and
    using key-value pairs from "\%query" to generate the query string. This
    should allow you to access parts of the Solr API that don't yet have
    their own correspodingly named function (e.g. "dataimport" ).

SEE ALSO
    *   http://lucene.apache.org/solr/

    *   Solr - an alternate library

AUTHORS
    Brian Cassidy &lt;bricas@cpan.org&gt;

    Kirk Beers

COPYRIGHT AND LICENSE
    Copyright 2008-2011 National Adult Literacy Database

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

</pre></body></html>