Example usage for org.apache.solr.client.solrj SolrQuery setRows

List of usage examples for org.apache.solr.client.solrj SolrQuery setRows

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj SolrQuery setRows.

Prototype

public SolrQuery setRows(Integer rows) 

Source Link

Usage

From source file:edu.cmu.lti.oaqa.bio.index.medline.annotated.query.SolrServerWrapper.java

License:Apache License

/**
 * Executes a query, additionally allows to specify the default field, the filter query, AND result fields.
 * //from www.  ja  v a  2  s  . c om
 * @param q               a query string.
 * @param defaultField    a default field name (or null).
 * @param fieldList       a list of field names.
 * @param filterQuery     a name of the filter query that can be applied without changing scores (or null).
 * @param results         the maximum number of entries to return.
 * 
 * @return a list of documents, which is an object of the type {@link org.apache.solr.common.SolrDocumentList}.
 * @throws SolrServerException
 * @throws IOException 
 */
public SolrDocumentList runQuery(String q, String defaultField, List<String> fieldList, String filterQuery,
        int results) throws SolrServerException, IOException {
    SolrQuery query = new SolrQuery();
    query.setQuery(q);
    if (filterQuery != null)
        query.setParam("fq", filterQuery);
    if (defaultField != null)
        query.setParam("df", defaultField);
    query.setRows(results);
    query.setFields(fieldList.toArray(new String[1]));
    QueryResponse rsp = mServer.query(query, METHOD.POST);
    return rsp.getResults();
}

From source file:edu.cmu.lti.oaqa.core.provider.solr.SolrWrapper.java

License:Apache License

public SolrDocumentList runQuery(String q, int results) throws SolrServerException {
    SolrQuery query = new SolrQuery();
    query.setQuery(escapeQuery(q));/*from  ww w .  jav  a2 s  .c o  m*/
    query.setRows(results);
    query.setFields("*", "score");
    QueryResponse rsp = server.query(query, METHOD.POST);
    return rsp.getResults();
}

From source file:edu.cmu.lti.oaqa.core.provider.solr.SolrWrapper.java

License:Apache License

/** Added overloaded method for specifying field list**/
public SolrDocumentList runQuery(String q, List<String> fieldList, int results) throws SolrServerException {
    SolrQuery query = new SolrQuery();
    query.setQuery(escapeQuery(q));/*from   ww  w .  j  av a 2  s . c  o  m*/
    query.setRows(results);
    query.setFields(fieldList.toArray(new String[1]));
    QueryResponse rsp = server.query(query, METHOD.POST);
    return rsp.getResults();
}

From source file:edu.cmu.lti.oaqa.openqa.test.team18.retrieval.SolrWrapperExtend.java

License:Apache License

public SolrDocumentList runQuery(String q, int results) throws SolrServerException {
    SolrQuery query = new SolrQuery();
    query.setQuery(escapeQuery(q));/*w  w  w  .  j  a  va  2 s .  c  o  m*/
    query.setRows(results);
    //query.setFields(fields)
    query.setFields("*", "score");
    QueryResponse rsp = server.query(query);
    return rsp.getResults();
}

From source file:edu.cornell.mannlib.vitro.webapp.controller.accounts.admin.ajax.ProfileAutoCompleter.java

License:Open Source License

private SolrQuery buildSolrQuery() {
    SolrQuery q = new SolrQuery();
    q.setFields(NAME_RAW, URI);//from w  w  w . ja va 2  s . c  om
    q.setSortField(NAME_LOWERCASE_SINGLE_VALUED, ORDER.asc);
    q.setFilterQueries(SolrQueryUtils.assembleConjunctiveQuery(RDFTYPE, profileTypes, OR));
    q.setStart(0);
    q.setRows(10000);
    q.setQuery(searchWords.assembleQuery(NAME_UNSTEMMED, AC_NAME_STEMMED));
    return q;
}

From source file:edu.cornell.mannlib.vitro.webapp.controller.accounts.manageproxies.ajax.BasicProfilesGetter.java

License:Open Source License

private SolrQuery buildSolrQuery() {
    SolrQuery q = new SolrQuery();
    q.setFields(NAME_RAW, URI);/* w w w . jav a2s  .  co  m*/
    q.setSortField(NAME_LOWERCASE_SINGLE_VALUED, ORDER.asc);
    q.setFilterQueries(SolrQueryUtils.assembleConjunctiveQuery(RDFTYPE, profileTypes, OR));
    q.setStart(0);
    q.setRows(30);
    q.setQuery(searchWords.assembleQuery(NAME_UNSTEMMED, AC_NAME_STEMMED));
    return q;
}

From source file:edu.cornell.mannlib.vitro.webapp.controller.freemarker.IndividualListController.java

License:Open Source License

public static long getIndividualCount(List<String> vclassUris, IndividualDao indDao, ServletContext context) {
    SolrQuery query = new SolrQuery(makeMultiClassQuery(vclassUris));
    query.setRows(0);
    try {// w ww  .ja  v  a 2  s  . co  m
        SolrServer solr = SolrSetup.getSolrServer(context);
        QueryResponse response = null;
        response = solr.query(query);
        return response.getResults().getNumFound();
    } catch (Exception ex) {
        log.error("An error occured in retrieving individual count", ex);
    }
    return 0;
}

From source file:edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.DefaultObjectPropertyFormGenerator.java

License:Open Source License

private boolean tooManyRangeOptions(VitroRequest vreq, HttpSession session) throws SolrServerException {
    List<String> types = getRangeTypes(vreq);
    SolrServer solrServer = SolrSetup.getSolrServer(session.getServletContext());

    //empty list means the range is not set to anything, force Thing
    if (types.size() == 0) {
        types = new ArrayList<String>();
        types.add(VitroVocabulary.OWL_THING);
    }//from  w ww. j a  va  2  s .  c  om

    long count = 0;
    for (String type : types) {
        //solr query for type count.          
        SolrQuery query = new SolrQuery();
        if (VitroVocabulary.OWL_THING.equals(type)) {
            query.setQuery("*:*");
        } else {
            query.setQuery(VitroSearchTermNames.RDFTYPE + ":" + type);
        }
        query.setRows(0);

        QueryResponse rsp = solrServer.query(query);
        SolrDocumentList docs = rsp.getResults();
        long found = docs.getNumFound();
        count = count + found;
        if (count > maxNonACRangeIndividualCount)
            break;
    }

    return count > maxNonACRangeIndividualCount;
}

From source file:edu.cornell.mannlib.vitro.webapp.edit.n3editing.configuration.generators.DefaultObjectPropertyFormGenerator.java

License:Open Source License

private Object rangeIndividualsExist(HttpSession session, List<String> types) throws SolrServerException {
    SolrServer solrServer = SolrSetup.getSolrServer(session.getServletContext());

    boolean rangeIndividualsFound = false;
    for (String type : types) {
        //solr for type count.
        SolrQuery query = new SolrQuery();
        query.setQuery(VitroSearchTermNames.RDFTYPE + ":" + type);
        query.setRows(0);

        QueryResponse rsp = solrServer.query(query);
        SolrDocumentList docs = rsp.getResults();
        if (docs.getNumFound() > 0) {
            rangeIndividualsFound = true;
            break;
        }/*from  w  w  w  .  j a  v  a  2 s. c o  m*/
    }

    return rangeIndividualsFound;
}

From source file:edu.cornell.mannlib.vitro.webapp.searchengine.solr.SolrConversionUtils.java

License:Open Source License

/**
 * Convert from a SearchQuery to a SolrQuery, so the Solr server may execute
 * it.//ww w  . ja v a  2 s. co  m
 */
@SuppressWarnings("deprecation")
static SolrQuery convertToSolrQuery(SearchQuery query) {
    SolrQuery solrQuery = new SolrQuery(query.getQuery());
    solrQuery.setStart(query.getStart());

    int rows = query.getRows();
    if (rows >= 0) {
        solrQuery.setRows(rows);
    }

    for (String fieldToReturn : query.getFieldsToReturn()) {
        solrQuery.addField(fieldToReturn);
    }

    Map<String, Order> sortFields = query.getSortFields();
    for (String sortField : sortFields.keySet()) {
        solrQuery.addSortField(sortField, convertToSolrOrder(sortFields.get(sortField)));
    }

    for (String filter : query.getFilters()) {
        solrQuery.addFilterQuery(filter);
    }

    if (!query.getFacetFields().isEmpty()) {
        solrQuery.setFacet(true);
    }

    for (String facetField : query.getFacetFields()) {
        solrQuery.addFacetField(facetField);
    }

    int facetLimit = query.getFacetLimit();
    if (facetLimit >= 0) {
        solrQuery.setFacetLimit(facetLimit);
    }

    int minCount = query.getFacetMinCount();
    if (minCount >= 0) {
        solrQuery.setFacetMinCount(minCount);
    }

    return solrQuery;
}