Package com.lucidworks.apollo.component
Class BufferingSolrServer
- java.lang.Object
- 
- org.apache.solr.client.solrj.SolrClient
- 
- com.lucidworks.apollo.component.BufferingSolrServer
 
 
- 
- All Implemented Interfaces:
- java.io.Closeable,- java.io.Serializable,- java.lang.AutoCloseable
 
 public class BufferingSolrServer extends org.apache.solr.client.solrj.SolrClientSimple class that wraps aSolrClientinstance and adds a simple buffer on top of it. The buffer can hold a series ofBufferingSolrServer.BufferedRequests up to a maximum of maxBufferSize. Once exceeded, the buffer is flushed. Currently, the buffer will handle requests to add a document or delete a document either by ID or query. The life cycle of wrapped SolrClient instance should be managed elsewhere. You should properly shutdown this instance with a shutdown method.- See Also:
- Serialized Form
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classBufferingSolrServer.Action
 - 
Constructor SummaryConstructors Constructor Description BufferingSolrServer(org.apache.solr.client.solrj.SolrClient delegate, int maxBufferSize, long maxFlushIntervalMillis)BufferingSolrServer(org.apache.solr.client.solrj.SolrClient delegate, int maxBufferSize, long maxFlushIntervalMillis, int concurrency, java.lang.String searchClusterName, java.lang.String collectionId, com.codahale.metrics.MetricRegistry metricRegistry, java.lang.String defaultSolrCollection)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.solr.client.solrj.response.UpdateResponseadd(java.lang.String solrCollection, java.util.Collection<org.apache.solr.common.SolrInputDocument> docs, int commitWithinMs)org.apache.solr.client.solrj.response.UpdateResponseadd(java.lang.String collection, org.apache.solr.common.SolrInputDocument doc, int commitWithinMs)org.apache.solr.client.solrj.response.UpdateResponseadd(java.util.Collection<org.apache.solr.common.SolrInputDocument> docs)org.apache.solr.client.solrj.response.UpdateResponseadd(java.util.Collection<org.apache.solr.common.SolrInputDocument> docs, int commitWithinMs)org.apache.solr.client.solrj.response.UpdateResponseadd(org.apache.solr.common.SolrInputDocument doc, int commitWithinMs)voidclose()org.apache.solr.client.solrj.response.UpdateResponsedeleteById(java.lang.String id)org.apache.solr.client.solrj.response.UpdateResponsedeleteById(java.lang.String id, int commitWithinMs)org.apache.solr.client.solrj.response.UpdateResponsedeleteById(java.lang.String collection, java.lang.String id)org.apache.solr.client.solrj.response.UpdateResponsedeleteById(java.lang.String collection, java.lang.String id, int commitWithinMs)org.apache.solr.client.solrj.response.UpdateResponsedeleteById(java.lang.String collection, java.util.List<java.lang.String> ids)org.apache.solr.client.solrj.response.UpdateResponsedeleteById(java.lang.String collection, java.util.List<java.lang.String> ids, int commitWithinMs)org.apache.solr.client.solrj.response.UpdateResponsedeleteById(java.util.List<java.lang.String> ids)org.apache.solr.client.solrj.response.UpdateResponsedeleteById(java.util.List<java.lang.String> ids, int commitWithinMs)org.apache.solr.client.solrj.response.UpdateResponsedeleteByQuery(java.lang.String query)org.apache.solr.client.solrj.response.UpdateResponsedeleteByQuery(java.lang.String query, int commitWithinMs)org.apache.solr.client.solrj.response.UpdateResponsedeleteByQuery(java.lang.String collection, java.lang.String query)org.apache.solr.client.solrj.response.UpdateResponsedeleteByQuery(java.lang.String collection, java.lang.String query, int commitWithinMs)intflush()intgetNumberOfRequestsInBuffer()org.apache.solr.common.util.NamedList<java.lang.Object>request(org.apache.solr.client.solrj.SolrRequest request, java.lang.String collection)voidsyncFlush()- 
Methods inherited from class org.apache.solr.client.solrj.SolrClientadd, add, add, add, add, addBean, addBean, addBean, addBean, addBeans, addBeans, addBeans, addBeans, addBeans, addBeans, commit, commit, commit, commit, commit, commit, getBinder, getById, getById, getById, getById, getById, getById, getById, getById, optimize, optimize, optimize, optimize, optimize, optimize, ping, ping, query, query, query, query, queryAndStreamResponse, queryAndStreamResponse, queryAndStreamResponse, request, rollback, rollback
 
- 
 
- 
- 
- 
Constructor Detail- 
BufferingSolrServerpublic BufferingSolrServer(org.apache.solr.client.solrj.SolrClient delegate, int maxBufferSize, long maxFlushIntervalMillis)
 - 
BufferingSolrServerpublic BufferingSolrServer(org.apache.solr.client.solrj.SolrClient delegate, int maxBufferSize, long maxFlushIntervalMillis, int concurrency, java.lang.String searchClusterName, java.lang.String collectionId, com.codahale.metrics.MetricRegistry metricRegistry, java.lang.String defaultSolrCollection)- Parameters:
- delegate-
- maxBufferSize-
- maxFlushIntervalMillis-
- concurrency-
- searchClusterName- for diagnostic purposes only
- collectionId- for diagnostic purposes only
- metricRegistry-
 
 
- 
 - 
Method Detail- 
syncFlushpublic void syncFlush() 
 - 
flushpublic int flush() 
 - 
closepublic void close() throws java.io.IOException- Throws:
- java.io.IOException
 
 - 
addpublic org.apache.solr.client.solrj.response.UpdateResponse add(org.apache.solr.common.SolrInputDocument doc, int commitWithinMs)- Overrides:
- addin class- org.apache.solr.client.solrj.SolrClient
 
 - 
addpublic org.apache.solr.client.solrj.response.UpdateResponse add(java.util.Collection<org.apache.solr.common.SolrInputDocument> docs) - Overrides:
- addin class- org.apache.solr.client.solrj.SolrClient
 
 - 
addpublic org.apache.solr.client.solrj.response.UpdateResponse add(java.util.Collection<org.apache.solr.common.SolrInputDocument> docs, int commitWithinMs)- Overrides:
- addin class- org.apache.solr.client.solrj.SolrClient
 
 - 
addpublic org.apache.solr.client.solrj.response.UpdateResponse add(java.lang.String solrCollection, java.util.Collection<org.apache.solr.common.SolrInputDocument> docs, int commitWithinMs)- Overrides:
- addin class- org.apache.solr.client.solrj.SolrClient
 
 - 
addpublic org.apache.solr.client.solrj.response.UpdateResponse add(java.lang.String collection, org.apache.solr.common.SolrInputDocument doc, int commitWithinMs)- Overrides:
- addin class- org.apache.solr.client.solrj.SolrClient
 
 - 
deleteByIdpublic org.apache.solr.client.solrj.response.UpdateResponse deleteById(java.lang.String collection, java.lang.String id)- Overrides:
- deleteByIdin class- org.apache.solr.client.solrj.SolrClient
 
 - 
deleteByIdpublic org.apache.solr.client.solrj.response.UpdateResponse deleteById(java.lang.String id) - Overrides:
- deleteByIdin class- org.apache.solr.client.solrj.SolrClient
 
 - 
deleteByIdpublic org.apache.solr.client.solrj.response.UpdateResponse deleteById(java.lang.String collection, java.lang.String id, int commitWithinMs)- Overrides:
- deleteByIdin class- org.apache.solr.client.solrj.SolrClient
 
 - 
deleteByIdpublic org.apache.solr.client.solrj.response.UpdateResponse deleteById(java.lang.String id, int commitWithinMs)- Overrides:
- deleteByIdin class- org.apache.solr.client.solrj.SolrClient
 
 - 
deleteByIdpublic org.apache.solr.client.solrj.response.UpdateResponse deleteById(java.lang.String collection, java.util.List<java.lang.String> ids)- Overrides:
- deleteByIdin class- org.apache.solr.client.solrj.SolrClient
 
 - 
deleteByIdpublic org.apache.solr.client.solrj.response.UpdateResponse deleteById(java.util.List<java.lang.String> ids) - Overrides:
- deleteByIdin class- org.apache.solr.client.solrj.SolrClient
 
 - 
deleteByIdpublic org.apache.solr.client.solrj.response.UpdateResponse deleteById(java.lang.String collection, java.util.List<java.lang.String> ids, int commitWithinMs)- Overrides:
- deleteByIdin class- org.apache.solr.client.solrj.SolrClient
 
 - 
deleteByIdpublic org.apache.solr.client.solrj.response.UpdateResponse deleteById(java.util.List<java.lang.String> ids, int commitWithinMs)- Overrides:
- deleteByIdin class- org.apache.solr.client.solrj.SolrClient
 
 - 
deleteByQuerypublic org.apache.solr.client.solrj.response.UpdateResponse deleteByQuery(java.lang.String collection, java.lang.String query)- Overrides:
- deleteByQueryin class- org.apache.solr.client.solrj.SolrClient
 
 - 
deleteByQuerypublic org.apache.solr.client.solrj.response.UpdateResponse deleteByQuery(java.lang.String query) - Overrides:
- deleteByQueryin class- org.apache.solr.client.solrj.SolrClient
 
 - 
deleteByQuerypublic org.apache.solr.client.solrj.response.UpdateResponse deleteByQuery(java.lang.String collection, java.lang.String query, int commitWithinMs)- Overrides:
- deleteByQueryin class- org.apache.solr.client.solrj.SolrClient
 
 - 
deleteByQuerypublic org.apache.solr.client.solrj.response.UpdateResponse deleteByQuery(java.lang.String query, int commitWithinMs)- Overrides:
- deleteByQueryin class- org.apache.solr.client.solrj.SolrClient
 
 - 
requestpublic org.apache.solr.common.util.NamedList<java.lang.Object> request(org.apache.solr.client.solrj.SolrRequest request, java.lang.String collection) throws org.apache.solr.client.solrj.SolrServerException, java.io.IOException- Specified by:
- requestin class- org.apache.solr.client.solrj.SolrClient
- Throws:
- org.apache.solr.client.solrj.SolrServerException
- java.io.IOException
 
 - 
getNumberOfRequestsInBufferpublic int getNumberOfRequestsInBuffer() 
 
- 
 
-