Example usage for org.apache.solr.client.solrj.response LukeResponse getNumDocs

List of usage examples for org.apache.solr.client.solrj.response LukeResponse getNumDocs

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj.response LukeResponse getNumDocs.

Prototype

public Integer getNumDocs() 

Source Link

Usage

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();
}