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

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

Introduction

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

Prototype

public SolrQuery() 

Source Link

Usage

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

License:Apache License

/**
 * Reads a value of a single- or multi-value text field from a SOLR server. 
 * //from  w ww.  ja va 2s. c om
 * @param docId         a document ID.
 * @param idField       a name of the ID field.
 * @param textFieldName a name of the text field whose value we need to obtain.
 * @return an array of field values, if the field is single-value, the array
 *         contains only one entry.
 * @throws SolrServerException
 * @throws IOException 
 */
public ArrayList<String> getFieldText(String docId, String idField, String textFieldName)
        throws SolrServerException, IOException {
    String q = idField + ":" + docId;
    SolrQuery query = new SolrQuery();
    query.setQuery(q);
    query.setFields(textFieldName);
    QueryResponse rsp = mServer.query(query);

    ArrayList<String> docText = null;
    if (rsp.getResults().getNumFound() > 0) {
        Object o = rsp.getResults().get(0).getFieldValues(textFieldName);
        if (o instanceof String) {
            docText = new ArrayList<String>();
            docText.add((String) o);
        } else {
            @SuppressWarnings({ "unchecked" })
            ArrayList<String> results = (ArrayList<String>) o;
            docText = results;
        }
    }
    return docText;
}

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   w w w.j a  v  a 2 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 w ww  .j av a  2  s .c  om
    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  .ja v a  2 s .co  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);/*w  ww.ja  v a  2  s.  co  m*/
    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);/* www  .  j a  v a 2s .c om*/
    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.dao.jena.VClassGroupCache.java

License:Open Source License

protected static void addClassCountsToGroup(VClassGroup group, SolrServer solrServer)
        throws SolrServerException {
    if (group == null)
        return;/*from   w  ww  .j av a  2  s  . c o m*/

    String groupUri = group.getURI();
    String facetOnField = VitroSearchTermNames.RDFTYPE;

    SolrQuery query = new SolrQuery().setRows(0).setQuery(VitroSearchTermNames.CLASSGROUP_URI + ":" + groupUri)
            .setFacet(true). //facet on type to get counts for classes in classgroup
            addFacetField(facetOnField).setFacetMinCount(0);

    log.debug("query: " + query);

    QueryResponse rsp = solrServer.query(query);

    //Get individual count
    long individualCount = rsp.getResults().getNumFound();
    log.debug("Number of individuals found " + individualCount);
    group.setIndividualCount((int) individualCount);

    //get counts for classes
    FacetField ff = rsp.getFacetField(facetOnField);
    if (ff != null) {
        List<Count> counts = ff.getValues();
        if (counts != null) {
            for (Count ct : counts) {
                if (ct != null) {
                    String classUri = ct.getName();
                    long individualsInClass = ct.getCount();
                    setClassCount(group, classUri, individualsInClass);
                }
            }
        } else {
            log.debug("no Counts found for FacetField " + facetOnField);
        }
    } else {
        log.debug("no FaccetField found for " + facetOnField);
    }
}

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 w  w  . j  ava2 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);//from   w ww  .  j a  v a 2  s .  c  om

        QueryResponse rsp = solrServer.query(query);
        SolrDocumentList docs = rsp.getResults();
        if (docs.getNumFound() > 0) {
            rangeIndividualsFound = true;
            break;
        }
    }

    return rangeIndividualsFound;
}

From source file:edu.cornell.mannlib.vitro.webapp.search.controller.AutocompleteController.java

License:Open Source License

private SolrQuery getQuery(String queryStr, VitroRequest vreq) {

    if (queryStr == null) {
        log.error("There was no parameter '" + PARAM_QUERY + "' in the request.");
        return null;
    } else if (queryStr.length() > MAX_QUERY_LENGTH) {
        log.debug("The search was too long. The maximum " + "query length is " + MAX_QUERY_LENGTH);
        return null;
    }/* www  . jav a  2s .com*/

    SolrQuery query = new SolrQuery();
    query.setStart(0).setRows(DEFAULT_MAX_HIT_COUNT);

    setNameQuery(query, queryStr, vreq);

    // Filter by type
    String typeParam = (String) vreq.getParameter(PARAM_RDFTYPE);
    String multipleTypesParam = (String) vreq.getParameter(PARAM_MULTIPLE_RDFTYPE);
    if (typeParam != null) {
        addFilterQuery(query, typeParam, multipleTypesParam);
    }

    query.setFields(VitroSearchTermNames.NAME_RAW, VitroSearchTermNames.URI); // fields to retrieve

    // Can't sort on multivalued field, so we sort the results in Java when we get them.
    // query.setSortField(VitroSearchTermNames.NAME_LOWERCASE, SolrQuery.ORDER.asc);

    return query;
}