List of usage examples for org.apache.solr.client.solrj SolrQuery setStart
public SolrQuery setStart(Integer start)
From source file:uk.ac.ebi.intact.dataexchange.psimi.solr.ontology.OntologySearcher.java
License:Apache License
private OntologyNames searchOntologyNamesById(String fieldId, String id, Integer firstResult, Integer maxResults) throws SolrServerException { SolrQuery query = new SolrQuery(fieldId + ":\"" + id + "\""); if (firstResult != null) query.setStart(firstResult); if (maxResults != null) query.setRows(maxResults);//from w w w .java 2s . com QueryResponse response = search(query, new String[] { OntologyFieldNames.CHILD_NAME, OntologyFieldNames.CHILDREN_SYNONYMS, OntologyFieldNames.CHILD_ID }); return extractNamesAndSynonymsFrom(response); }
From source file:uk.ac.ebi.intact.dataexchange.psimi.solr.ontology.OntologySearcher.java
License:Apache License
private OntologyNames searchOntologyNamesByName(String fieldId, String name, Integer firstResult, Integer maxResults) throws SolrServerException { SolrQuery query = new SolrQuery(fieldId + ":\"" + name + "\""); if (firstResult != null) query.setStart(firstResult); if (maxResults != null) query.setRows(maxResults);// w ww.j av a 2 s . co m QueryResponse response = search(query, new String[] { OntologyFieldNames.CHILD_NAME, OntologyFieldNames.CHILDREN_SYNONYMS, OntologyFieldNames.CHILD_ID }); return extractNamesAndSynonymsFrom(response); }
From source file:uk.ac.ebi.intact.dataexchange.psimi.solr.ontology.OntologySearcher.java
License:Apache License
private List<OntologyTerm> searchById(String fieldId, String id, Integer firstResult, Integer maxResults) throws SolrServerException { SolrQuery query = new SolrQuery(fieldId + ":\"" + id + "\""); if (firstResult != null) query.setStart(firstResult); if (maxResults != null) query.setRows(maxResults);/* w ww . j a va 2s .c om*/ if (FieldName.CHILDREN_ID.equalsIgnoreCase(fieldId)) { return processParentsHits(search(query, new String[] { OntologyFieldNames.PARENT_ID, OntologyFieldNames.PARENT_NAME, OntologyFieldNames.PARENT_SYNONYMS }), id); } else if (FieldName.PARENT_ID.equalsIgnoreCase(fieldId)) { return processChildrenHits(search(query, new String[] { OntologyFieldNames.CHILD_ID, OntologyFieldNames.CHILD_NAME, OntologyFieldNames.CHILDREN_SYNONYMS }), id); } else { return processParentsHits(search(query, new String[] { OntologyFieldNames.PARENT_ID, OntologyFieldNames.PARENT_NAME, OntologyFieldNames.PARENT_SYNONYMS }), id); } }
From source file:uk.ac.ebi.intact.dataexchange.psimi.solr.ontology.OntologySearcher.java
License:Apache License
public Set<String> getOntologyNames() throws SolrServerException { if (ontologyNames == null) { SolrQuery query = new SolrQuery("*:*"); query.setStart(0); query.setRows(0);//from www . j a v a2 s . c o m // prepare faceting query.setFacet(true); query.setParam(FacetParams.FACET_FIELD, "ontology"); query.setFacetLimit(10); query.setFacetMinCount(1); query.set(FacetParams.FACET_OFFSET, 0); // order by unique id query.addSortField(OntologyFieldNames.ID, SolrQuery.ORDER.asc); QueryResponse response = search(query, null); FacetField facetField = response.getFacetField("ontology"); if (facetField.getValues() == null) { return Collections.EMPTY_SET; } ontologyNames = new HashSet<String>(facetField.getValues().size()); for (FacetField.Count c : facetField.getValues()) { ontologyNames.add(c.getName()); } } return ontologyNames; }
From source file:uk.ac.ebi.phenotype.imaging.springrest.images.dao.ImagesSolrJ.java
License:Apache License
private SolrDocumentList runQuery(String query, int start, int length) throws SolrServerException { SolrQuery solrQuery = new SolrQuery(); log.debug("solr query=" + query); solrQuery.setQuery(query);//from w w w. j a v a 2s. c om solrQuery.setStart(start); solrQuery.setRows(length); solrQuery.setFields("id"); QueryResponse rsp = null; rsp = server.query(solrQuery); return rsp.getResults(); }
From source file:uk.ac.ebi.phenotype.imaging.springrest.images.dao.ImagesSolrJ.java
License:Apache License
private QueryResponse runFacetQuery(String query, String facetField, int start, int length, String filterQuery) throws SolrServerException { SolrQuery solrQuery = new SolrQuery(); // System.out.println("facet solr query=" + query); solrQuery.setQuery(query);/* w ww. j av a 2s.c o m*/ solrQuery.setStart(start); solrQuery.setRows(length); solrQuery.setFacet(true); solrQuery.setFacetMinCount(1); solrQuery.addFacetField(facetField); if (filterQuery != "") { solrQuery.addFilterQuery(filterQuery); } // System.out.println("exp facet query="+solrQuery.toString()); return server.query(solrQuery); }
From source file:uk.ac.ebi.phenotype.imaging.springrest.images.dao.ImagesSolrJ.java
License:Apache License
public QueryResponse getDocsForGeneWithFacetField(String geneId, String facetName, String facetValue, String filterQuery, int start, int length) throws SolrServerException { SolrQuery solrQuery = new SolrQuery(); String processedGeneId = SolrUtils.processQuery(geneId); String query = "accession:" + processedGeneId; solrQuery.setQuery(query);// w w w . j a v a 2s . c o m solrQuery.setStart(start); solrQuery.setRows(length); // need to add quotes around so that spaces are allowed String facetQuery = facetName + ":" + processValueForSolr(facetValue); solrQuery.addFilterQuery(facetQuery); log.debug("facet name and val====" + facetQuery); if (filterQuery != "") { solrQuery.addFilterQuery(filterQuery); } return server.query(solrQuery); }
From source file:uk.ac.ebi.phenotype.imaging.springrest.images.dao.ImagesSolrJ.java
License:Apache License
/** * Get all SOLR documents for a mammalian phenotype ontology term * //w w w . j a v a 2s . c o m * @param mpId the phenotype term to query for * @param start offset from zero * @param length how many docs to return */ public QueryResponse getDocsForMpTerm(String mpId, int start, int length) throws SolrServerException { String id = SolrUtils.processQuery(mpId); String query = "annotationTermId:" + id; log.debug("solr query=" + query); SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery(query); solrQuery.setStart(start); solrQuery.setRows(length); return server.query(solrQuery); }
From source file:uk.ac.ebi.phenotype.imaging.springrest.images.dao.ImagesSolrJ.java
License:Apache License
/** * Returns documents from Solr Index filtered by the passed in query * filterField e.g. annotationTerm:large ear * @throws SolrServerException /*from w ww. j a v a 2 s .c o m*/ * * */ public QueryResponse getFilteredDocsForQuery(String query, List<String> filterFields, String qf, String defType, int start, int length) throws SolrServerException { SolrQuery solrQuery = new SolrQuery(); //if query field is set (such as auto_suggest), add this to the search if (!qf.equals("")) { solrQuery.set("qf", qf); log.debug("added qf=" + qf); } //if defType is set (such as edismax), add this to the search if (!defType.equals("")) { solrQuery.set("defType", defType); log.debug("set defType=" + defType); } solrQuery.setQuery(query); solrQuery.setStart(start); solrQuery.setRows(length); for (String fieldNValue : filterFields) { String[] colonStrings = fieldNValue.split(":"); String filterField = colonStrings[0]; String filterParam = fieldNValue.substring(fieldNValue.indexOf(":") + 1, fieldNValue.length()); filterParam = processValueForSolr(filterParam); String fq = filterField + ":" + filterParam; log.debug("adding filter fieldNValue=" + fq); solrQuery.addFilterQuery(fq); } log.debug("Query is: " + solrQuery.toString()); return server.query(solrQuery); }
From source file:uk.ac.ebi.phenotype.solr.indexer.AlleleIndexer.java
License:Apache License
@Override public void run() throws IndexerException { int start = 0; long rows = 0; long startTime = new Date().getTime(); try {//from w w w. j a v a 2 s . c o m connection = komp2DataSource.getConnection(); initializeSolrCores(); SolrQuery query = new SolrQuery("mgi_accession_id:MGI* OR mgi_accession_id:CGI*"); query.addFilterQuery( "feature_type:* AND -feature_type:Pseudogene AND -feature_type:\"heritable+phenotypic+marker\" AND type:gene"); query.setRows(BATCH_SIZE); logger.info("Populating lookups"); populateStatusLookup(); logger.info("Populated status lookup, {} records", statusLookup.size()); populateHumanSymbolLookup(); logger.info("Populated human symbol lookup, {} records", humanSymbolLookup.size()); populateDiseaseLookup(); logger.info("Populated disease lookup, {} records", diseaseLookup.size()); populateLegacyLookup(); logger.info("Populated legacy project lookup, {} records", legacyProjectLookup.size()); // GoTerm from GO at EBI: MGI gene id to GO term mapping populateGoTermLookup(); logger.info("Populated go terms lookup, {} records", goTermLookup.size()); // MGI gene id to Uniprot accession mapping populateMgi2UniprotLookup(); logger.info("Populated mgi to uniprot lookup, {} records", mgi2UniprotLookup.size()); // Uniprot to pfamA mapping //populateUniprot2pfamA(); //logger.info("Populated uniprot to pfamA lookup, {} records", uniprotAccPfamAnnotLookup.size()); logger.info("Populated uniprot to pfamA lookup is skipped for now"); alleleCore.deleteByQuery("*:*"); alleleCore.commit(); while (start <= rows) { query.setStart(start); QueryResponse response = sangerAlleleCore.query(query); rows = response.getResults().getNumFound(); List<SangerGeneBean> sangerGenes = response.getBeans(SangerGeneBean.class); // Convert to Allele DTOs Map<String, AlleleDTO> alleles = convertSangerGeneBeans(sangerGenes); // Look up the marker synonyms lookupMarkerSynonyms(alleles); // Look up the human mouse symbols lookupHumanMouseSymbols(alleles); // Look up the ES cell status lookupEsCellStatus(alleles); // Look up the disease data lookupDiseaseData(alleles); // Look up the GO Term data lookupGoData(alleles); // Look up gene to Uniprot mapping lookupUniprotAcc(alleles); // Look up uniprot to pfamA mapping // NOTE: this MUST be done after lookupUniprotAcc() //lookupUniprotAcc2pfamA(alleles); // Now index the alleles documentCount += alleles.size(); indexAlleles(alleles); start += BATCH_SIZE; logger.info("Indexed {} records", start); } alleleCore.commit(); } catch (SQLException | SolrServerException | IOException | ClassNotFoundException e) { throw new IndexerException(e); } logger.debug("Complete - took {}ms", (new Date().getTime() - startTime)); }