mirror of
https://github.com/yacy/yacy_search_server.git
synced 2024-09-21 00:00:13 +02:00
enhanced computation of number of solr documents.
This commit is contained in:
parent
4948c39e48
commit
1a8783147b
|
@ -27,6 +27,7 @@ import net.yacy.cora.federate.solr.instance.EmbeddedInstance;
|
||||||
import net.yacy.cora.federate.solr.instance.SolrInstance;
|
import net.yacy.cora.federate.solr.instance.SolrInstance;
|
||||||
import net.yacy.cora.util.ConcurrentLog;
|
import net.yacy.cora.util.ConcurrentLog;
|
||||||
|
|
||||||
|
import org.apache.lucene.index.DirectoryReader;
|
||||||
import org.apache.solr.client.solrj.SolrServerException;
|
import org.apache.solr.client.solrj.SolrServerException;
|
||||||
import org.apache.solr.client.solrj.response.QueryResponse;
|
import org.apache.solr.client.solrj.response.QueryResponse;
|
||||||
import org.apache.solr.common.SolrException;
|
import org.apache.solr.common.SolrException;
|
||||||
|
@ -41,6 +42,8 @@ import org.apache.solr.request.SolrQueryRequest;
|
||||||
import org.apache.solr.request.SolrQueryRequestBase;
|
import org.apache.solr.request.SolrQueryRequestBase;
|
||||||
import org.apache.solr.request.SolrRequestInfo;
|
import org.apache.solr.request.SolrRequestInfo;
|
||||||
import org.apache.solr.response.SolrQueryResponse;
|
import org.apache.solr.response.SolrQueryResponse;
|
||||||
|
import org.apache.solr.search.SolrIndexSearcher;
|
||||||
|
import org.apache.solr.util.RefCounted;
|
||||||
|
|
||||||
public class EmbeddedSolrConnector extends SolrServerConnector implements SolrConnector {
|
public class EmbeddedSolrConnector extends SolrServerConnector implements SolrConnector {
|
||||||
|
|
||||||
|
@ -90,6 +93,21 @@ public class EmbeddedSolrConnector extends SolrServerConnector implements SolrCo
|
||||||
try {this.core.close();} catch (final Throwable e) {ConcurrentLog.logException(e);}
|
try {this.core.close();} catch (final Throwable e) {ConcurrentLog.logException(e);}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getSize() {
|
||||||
|
RefCounted<SolrIndexSearcher> refCountedIndexSearcher = this.core.getSearcher();
|
||||||
|
SolrIndexSearcher searcher = refCountedIndexSearcher.get();
|
||||||
|
DirectoryReader reader = searcher.getIndexReader();
|
||||||
|
long numDocs = reader.numDocs();
|
||||||
|
refCountedIndexSearcher.decref();
|
||||||
|
return numDocs;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get a new query request. MUST be closed after usage using close()
|
||||||
|
* @param params
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public SolrQueryRequest request(final SolrParams params) {
|
public SolrQueryRequest request(final SolrParams params) {
|
||||||
SolrQueryRequest req = null;
|
SolrQueryRequest req = null;
|
||||||
req = new SolrQueryRequestBase(this.core, params){};
|
req = new SolrQueryRequestBase(this.core, params){};
|
||||||
|
|
|
@ -295,7 +295,7 @@ public abstract class SolrServerConnector extends AbstractSolrConnector implemen
|
||||||
// get all fields contained in index
|
// get all fields contained in index
|
||||||
final LukeRequest lukeRequest = new LukeRequest();
|
final LukeRequest lukeRequest = new LukeRequest();
|
||||||
lukeRequest.setResponseParser(new XMLResponseParser());
|
lukeRequest.setResponseParser(new XMLResponseParser());
|
||||||
lukeRequest.setNumTerms(1);
|
lukeRequest.setNumTerms(0);
|
||||||
lukeRequest.setShowSchema(showSchema);
|
lukeRequest.setShowSchema(showSchema);
|
||||||
/*
|
/*
|
||||||
final SolrRequest lukeRequest = new SolrRequest(METHOD.GET, "/admin/luke") {
|
final SolrRequest lukeRequest = new SolrRequest(METHOD.GET, "/admin/luke") {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user