List of usage examples for org.apache.solr.client.solrj SolrQuery SolrQuery
public SolrQuery()
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; }