List of usage examples for org.apache.solr.client.solrj.response LukeResponse getNumDocs
public Integer getNumDocs()
From source file:com.sindicetech.siren.solr.SolrServerWrapper.java
License:Open Source License
/** * Return the number of documents currently indexed. *//*from w w w .j a v a2s . c om*/ public int getNumberOfDocuments() throws SolrServerException, IOException { final SolrRequest request = new FastLukeRequest(); final LukeResponse response = (LukeResponse) request.process(this.getServer()); return response.getNumDocs(); }
From source file:fr.cnes.sitools.metacatalogue.resources.opensearch.OpensearchDescribeResource.java
License:Open Source License
/** * Create a description for the metacatalogue containing all the request parameters, their types and enumeration * /*from w w w. j av a 2 s . c o m*/ * @return a description for the metacatalogue */ private Describe createDescribe() { Describe describe = new Describe(); SolrServer server = SolRUtils.getSolRServer(solrCoreUrl); if (server == null) { throw new ResourceException(Status.SERVER_ERROR_INTERNAL, "Solr core : " + solrCoreUrl + " not reachable"); } LukeRequest request = new LukeRequest(); // request.setNumTerms(maxTopTerms); try { List<Filter> filters = new ArrayList<Filter>(); LukeResponse response = request.process(server); int numDocs = response.getNumDocs(); Map<String, LukeResponse.FieldInfo> fields = response.getFieldInfo(); for (Entry<String, LukeResponse.FieldInfo> field : fields.entrySet()) { LukeResponse.FieldInfo fieldInfo = field.getValue(); String fieldName = fieldInfo.getName(); boolean indexed = false; EnumSet<FieldFlag> flags = FieldInfo.parseFlags(fieldInfo.getSchema()); indexed = (flags != null && flags.contains(FieldFlag.INDEXED)); if (indexed && addToDescription(fieldName)) { // make a terms query to get the top terms SolrQuery query = new SolrQuery(); query.setRequestHandler("/terms"); query.setTerms(true); query.addTermsField(fieldName); query.setTermsLimit(maxTopTerms); query.setTermsMinCount(1); QueryRequest termsRequest = new QueryRequest(query); TermsResponse termsResponse = termsRequest.process(server).getTermsResponse(); List<Term> terms = termsResponse.getTerms(fieldName); Filter filter = new Filter(); filter.setId(fieldName); filter.setTitle(fieldName); if (canBeCategorised(terms)) { filter.setType(FilterType.enumeration); filter.setPopulation(numDocs); filter.setSon(createSons(terms)); } else { filter.setType(getFilterType(fieldInfo.getType())); } filters.add(filter); } } describe.setFilters(filters); return describe; } catch (SolrServerException e) { throw new ResourceException(Status.SERVER_ERROR_INTERNAL, e.getMessage(), e); } catch (IOException e) { throw new ResourceException(Status.SERVER_ERROR_INTERNAL, e.getMessage(), e); } }
From source file:net.yacy.cora.federate.solr.connector.SolrServerConnector.java
License:Open Source License
private long getSizeLukeRequest() { if (this.server == null) return 0; try {/* ww w. j a v a2 s. c o m*/ LukeResponse lukeResponse = getIndexBrowser(false); if (lukeResponse == null) return 0; Integer numDocs = lukeResponse.getNumDocs(); if (numDocs == null) return 0; return numDocs.longValue(); } catch (final Throwable e) { clearCaches(); // prevent further OOM if this was caused by OOM log.warn(e); return 0; } }
From source file:org.sindice.siren.solr.SolrServerWrapper.java
License:Apache License
/** * Return the number of documents currently indexed. *///from w w w . ja v a 2 s. c o m public int getNumberOfDocuments() throws SolrServerException, IOException { final SolrRequest request = new FastLukeRequest(); final LukeResponse response = (LukeResponse) request.process(server); return response.getNumDocs(); }