org.apache.solr.client.solrj
Class SolrServer

java.lang.Object
  extended by org.apache.solr.client.solrj.SolrServer
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
CloudSolrServer, ConcurrentUpdateSolrServer, HttpSolrServer, LBHttpSolrServer

public abstract class SolrServer
extends Object
implements Serializable

Since:
solr 1.3
See Also:
Serialized Form

Constructor Summary
SolrServer()
           
 
Method Summary
 UpdateResponse add(Collection<SolrInputDocument> docs)
          Adds a collection of documents
 UpdateResponse add(Collection<SolrInputDocument> docs, int commitWithinMs)
          Adds a collection of documents, specifying max time before they become committed
 UpdateResponse add(SolrInputDocument doc)
          Adds a single document
 UpdateResponse add(SolrInputDocument doc, int commitWithinMs)
          Adds a single document specifying max time before it becomes committed
 UpdateResponse addBean(Object obj)
          Adds a single bean
 UpdateResponse addBean(Object obj, int commitWithinMs)
          Adds a single bean specifying max time before it becomes committed
 UpdateResponse addBeans(Collection<?> beans)
          Adds a collection of beans
 UpdateResponse addBeans(Collection<?> beans, int commitWithinMs)
          Adds a collection of beans specifying max time before they become committed
 UpdateResponse commit()
          Performs an explicit commit, causing pending documents to be committed for indexing
 UpdateResponse commit(boolean waitFlush, boolean waitSearcher)
          Performs an explicit commit, causing pending documents to be committed for indexing
 UpdateResponse commit(boolean waitFlush, boolean waitSearcher, boolean softCommit)
          Performs an explicit commit, causing pending documents to be committed for indexing
 UpdateResponse deleteById(List<String> ids)
          Deletes a list of documents by unique ID
 UpdateResponse deleteById(List<String> ids, int commitWithinMs)
          Deletes a list of documents by unique ID, specifying max time before commit
 UpdateResponse deleteById(String id)
          Deletes a single document by unique ID
 UpdateResponse deleteById(String id, int commitWithinMs)
          Deletes a single document by unique ID, specifying max time before commit
 UpdateResponse deleteByQuery(String query)
          Deletes documents from the index based on a query
 UpdateResponse deleteByQuery(String query, int commitWithinMs)
          Deletes documents from the index based on a query, specifying max time before commit
 DocumentObjectBinder getBinder()
           
 UpdateResponse optimize()
          Performs an explicit optimize, causing a merge of all segments to one.
 UpdateResponse optimize(boolean waitFlush, boolean waitSearcher)
          Performs an explicit optimize, causing a merge of all segments to one.
 UpdateResponse optimize(boolean waitFlush, boolean waitSearcher, int maxSegments)
          Performs an explicit optimize, causing a merge of all segments to one.
 SolrPingResponse ping()
          Issues a ping request to check if the server is alive
 QueryResponse query(SolrParams params)
          Performs a query to the Solr server
 QueryResponse query(SolrParams params, SolrRequest.METHOD method)
          Performs a query to the Solr server
 QueryResponse queryAndStreamResponse(SolrParams params, StreamingResponseCallback callback)
          Query solr, and stream the results.
abstract  NamedList<Object> request(SolrRequest request)
          SolrServer implementations need to implement how a request is actually processed
 UpdateResponse rollback()
          Performs a rollback of all non-committed documents pending.
abstract  void shutdown()
          Release allocated resources.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SolrServer

public SolrServer()
Method Detail

add

public UpdateResponse add(Collection<SolrInputDocument> docs)
                   throws SolrServerException,
                          IOException
Adds a collection of documents

Parameters:
docs - the collection of documents
Throws:
IOException - If there is a low-level I/O error.
SolrServerException

add

public UpdateResponse add(Collection<SolrInputDocument> docs,
                          int commitWithinMs)
                   throws SolrServerException,
                          IOException
Adds a collection of documents, specifying max time before they become committed

Parameters:
docs - the collection of documents
commitWithinMs - max time (in ms) before a commit will happen
Throws:
IOException - If there is a low-level I/O error.
SolrServerException
Since:
solr 3.5

addBeans

public UpdateResponse addBeans(Collection<?> beans)
                        throws SolrServerException,
                               IOException
Adds a collection of beans

Parameters:
beans - the collection of beans
Throws:
IOException - If there is a low-level I/O error.
SolrServerException

addBeans

public UpdateResponse addBeans(Collection<?> beans,
                               int commitWithinMs)
                        throws SolrServerException,
                               IOException
Adds a collection of beans specifying max time before they become committed

Parameters:
beans - the collection of beans
commitWithinMs - max time (in ms) before a commit will happen
Throws:
IOException - If there is a low-level I/O error.
SolrServerException
Since:
solr 3.5

add

public UpdateResponse add(SolrInputDocument doc)
                   throws SolrServerException,
                          IOException
Adds a single document

Parameters:
doc - the input document
Throws:
IOException - If there is a low-level I/O error.
SolrServerException

add

public UpdateResponse add(SolrInputDocument doc,
                          int commitWithinMs)
                   throws SolrServerException,
                          IOException
Adds a single document specifying max time before it becomes committed

Parameters:
doc - the input document
commitWithinMs - max time (in ms) before a commit will happen
Throws:
IOException - If there is a low-level I/O error.
SolrServerException
Since:
solr 3.5

addBean

public UpdateResponse addBean(Object obj)
                       throws IOException,
                              SolrServerException
Adds a single bean

Parameters:
obj - the input bean
Throws:
IOException - If there is a low-level I/O error.
SolrServerException

addBean

public UpdateResponse addBean(Object obj,
                              int commitWithinMs)
                       throws IOException,
                              SolrServerException
Adds a single bean specifying max time before it becomes committed

Parameters:
obj - the input bean
commitWithinMs - max time (in ms) before a commit will happen
Throws:
IOException - If there is a low-level I/O error.
SolrServerException
Since:
solr 3.5

commit

public UpdateResponse commit()
                      throws SolrServerException,
                             IOException
Performs an explicit commit, causing pending documents to be committed for indexing

waitFlush=true and waitSearcher=true to be inline with the defaults for plain HTTP access

Throws:
IOException - If there is a low-level I/O error.
SolrServerException

optimize

public UpdateResponse optimize()
                        throws SolrServerException,
                               IOException
Performs an explicit optimize, causing a merge of all segments to one.

waitFlush=true and waitSearcher=true to be inline with the defaults for plain HTTP access

Note: In most cases it is not required to do explicit optimize

Throws:
IOException - If there is a low-level I/O error.
SolrServerException

commit

public UpdateResponse commit(boolean waitFlush,
                             boolean waitSearcher)
                      throws SolrServerException,
                             IOException
Performs an explicit commit, causing pending documents to be committed for indexing

Parameters:
waitFlush - block until index changes are flushed to disk
waitSearcher - block until a new searcher is opened and registered as the main query searcher, making the changes visible
Throws:
IOException - If there is a low-level I/O error.
SolrServerException

commit

public UpdateResponse commit(boolean waitFlush,
                             boolean waitSearcher,
                             boolean softCommit)
                      throws SolrServerException,
                             IOException
Performs an explicit commit, causing pending documents to be committed for indexing

Parameters:
waitFlush - block until index changes are flushed to disk
waitSearcher - block until a new searcher is opened and registered as the main query searcher, making the changes visible
softCommit - makes index changes visible while neither fsync-ing index files nor writing a new index descriptor
Throws:
IOException - If there is a low-level I/O error.
SolrServerException

optimize

public UpdateResponse optimize(boolean waitFlush,
                               boolean waitSearcher)
                        throws SolrServerException,
                               IOException
Performs an explicit optimize, causing a merge of all segments to one.

Note: In most cases it is not required to do explicit optimize

Parameters:
waitFlush - block until index changes are flushed to disk
waitSearcher - block until a new searcher is opened and registered as the main query searcher, making the changes visible
Throws:
IOException - If there is a low-level I/O error.
SolrServerException

optimize

public UpdateResponse optimize(boolean waitFlush,
                               boolean waitSearcher,
                               int maxSegments)
                        throws SolrServerException,
                               IOException
Performs an explicit optimize, causing a merge of all segments to one.

Note: In most cases it is not required to do explicit optimize

Parameters:
waitFlush - block until index changes are flushed to disk
waitSearcher - block until a new searcher is opened and registered as the main query searcher, making the changes visible
maxSegments - optimizes down to at most this number of segments
Throws:
IOException - If there is a low-level I/O error.
SolrServerException

rollback

public UpdateResponse rollback()
                        throws SolrServerException,
                               IOException
Performs a rollback of all non-committed documents pending.

Note that this is not a true rollback as in databases. Content you have previously added may have been committed due to autoCommit, buffer full, other client performing a commit etc.

Throws:
IOException - If there is a low-level I/O error.
SolrServerException

deleteById

public UpdateResponse deleteById(String id)
                          throws SolrServerException,
                                 IOException
Deletes a single document by unique ID

Parameters:
id - the ID of the document to delete
Throws:
IOException - If there is a low-level I/O error.
SolrServerException

deleteById

public UpdateResponse deleteById(String id,
                                 int commitWithinMs)
                          throws SolrServerException,
                                 IOException
Deletes a single document by unique ID, specifying max time before commit

Parameters:
id - the ID of the document to delete
commitWithinMs - max time (in ms) before a commit will happen
Throws:
IOException - If there is a low-level I/O error.
SolrServerException
Since:
3.6

deleteById

public UpdateResponse deleteById(List<String> ids)
                          throws SolrServerException,
                                 IOException
Deletes a list of documents by unique ID

Parameters:
ids - the list of document IDs to delete
Throws:
IOException - If there is a low-level I/O error.
SolrServerException

deleteById

public UpdateResponse deleteById(List<String> ids,
                                 int commitWithinMs)
                          throws SolrServerException,
                                 IOException
Deletes a list of documents by unique ID, specifying max time before commit

Parameters:
ids - the list of document IDs to delete
commitWithinMs - max time (in ms) before a commit will happen
Throws:
IOException - If there is a low-level I/O error.
SolrServerException
Since:
3.6

deleteByQuery

public UpdateResponse deleteByQuery(String query)
                             throws SolrServerException,
                                    IOException
Deletes documents from the index based on a query

Parameters:
query - the query expressing what documents to delete
Throws:
IOException - If there is a low-level I/O error.
SolrServerException

deleteByQuery

public UpdateResponse deleteByQuery(String query,
                                    int commitWithinMs)
                             throws SolrServerException,
                                    IOException
Deletes documents from the index based on a query, specifying max time before commit

Parameters:
query - the query expressing what documents to delete
commitWithinMs - max time (in ms) before a commit will happen
Throws:
IOException - If there is a low-level I/O error.
SolrServerException
Since:
3.6

ping

public SolrPingResponse ping()
                      throws SolrServerException,
                             IOException
Issues a ping request to check if the server is alive

Throws:
IOException - If there is a low-level I/O error.
SolrServerException

query

public QueryResponse query(SolrParams params)
                    throws SolrServerException
Performs a query to the Solr server

Parameters:
params - an object holding all key/value parameters to send along the request
Throws:
SolrServerException

query

public QueryResponse query(SolrParams params,
                           SolrRequest.METHOD method)
                    throws SolrServerException
Performs a query to the Solr server

Parameters:
params - an object holding all key/value parameters to send along the request
method - specifies the HTTP method to use for the request, such as GET or POST
Throws:
SolrServerException

queryAndStreamResponse

public QueryResponse queryAndStreamResponse(SolrParams params,
                                            StreamingResponseCallback callback)
                                     throws SolrServerException,
                                            IOException
Query solr, and stream the results. Unlike the standard query, this will send events for each Document rather then add them to the QueryResponse. Although this function returns a 'QueryResponse' it should be used with care since it excludes anything that was passed to callback. Also note that future version may pass even more info to the callback and may not return the results in the QueryResponse.

Throws:
SolrServerException
IOException
Since:
solr 4.0

request

public abstract NamedList<Object> request(SolrRequest request)
                                   throws SolrServerException,
                                          IOException
SolrServer implementations need to implement how a request is actually processed

Throws:
SolrServerException
IOException

getBinder

public DocumentObjectBinder getBinder()

shutdown

public abstract void shutdown()
Release allocated resources.

Since:
solr 4.0


Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.