List of usage examples for org.apache.solr.client.solrj SolrQuery setFacet
public SolrQuery setFacet(boolean b)
From source file:org.kuali.ole.docstore.engine.service.rest.DocstoreRestClient_UT.java
License:Open Source License
public void searchBibWithFacets(String facetSort) throws Exception { String[] facets = { "Author_facet", "Format_facet", "Genre_facet", "Language_facet", "PublicationDate_facet", "PublicationDate_sort" }; String[] fieldList = { "LocalId_display", "Title_sort", "Title_display", "JournalTitle_display", "Author_display", "Publisher_display", "ISBN_display", "ISSN_display", "Subject_display", "Publisher_display", "PublicationDate_display", "Edition_display", "Format_display", "Language_display", "Description_display", "FormGenre_display", "DocFormat", "staffOnlyFlag", "bibIdentifier", "holdingsIdentifier" }; String args = "(DocType:bibliographic)AND((*:*))"; SolrServer solr = SolrServerManager.getInstance().getSolrServer(); SolrQuery query = new SolrQuery(); query.setQuery(args);//from ww w. jav a 2 s .com query.setFacet(true); query.addFacetField(facets); query.setFacetMinCount(1); query.setFacetSort(facetSort); query.setFacetLimit(5); query.setFields(fieldList); query.set("facet.offset", "0"); QueryResponse response = solr.query(query); System.out.println("Search result count " + response.getResults().getNumFound() + " and time taken to search is " + response.getQTime()); }
From source file:org.lareferencia.xoai.services.impl.xoai.LRSetRepository.java
License:BSD License
private List<FacetField.Count> getFacetValues(String facetFieldName) { try {//from w ww . java 2 s. co m SolrQuery query = new SolrQuery("*:*"); query.setRows(0); query.setFacet(true); query.addFacetField(facetFieldName); QueryResponse response = solrServer.query(query); return response.getFacetFields().get(0).getValues(); } catch (SolrServerException e) { log.error(e.getMessage(), e); e.printStackTrace(); } List<FacetField.Count> list = new ArrayList<FacetField.Count>(); return list; }
From source file:org.mousephenotype.cda.indexers.MPIndexer.java
License:Apache License
private RunStatus populateMpCallMaps(Map<String, Synonym> synonyms) throws IOException, SolrServerException, URISyntaxException, JSONException { RunStatus status = new RunStatus(); List<SolrClient> ss = new ArrayList<>(); ss.add(genotypePhenotypeCore);/*from ww w . j a va 2 s.c o m*/ for (int i = 0; i < ss.size(); i++) { SolrClient solrSvr = ss.get(i); SolrQuery query = new SolrQuery(); query.setQuery("*:*"); query.setFacet(true); query.setRows(0); query.addFacetField(GenotypePhenotypeDTO.MP_TERM_ID); query.addFacetField(GenotypePhenotypeDTO.INTERMEDIATE_MP_TERM_ID); query.addFacetField(GenotypePhenotypeDTO.TOP_LEVEL_MP_TERM_ID); query.setFacetLimit(-1); for (FacetField facetGroup : solrSvr.query(query).getFacetFields()) { for (FacetField.Count facet : facetGroup.getValues()) { if (!mpCalls.containsKey(facet.getName())) { mpCalls.put(facet.getName(), new Long(0)); Map<String, Integer> geneVariantCount = getPhenotypeGeneVariantCounts(facet.getName(), status, synonyms); int gvCount = geneVariantCount.get("sumCount"); mpGeneVariantCount.put(facet.getName(), gvCount); } mpCalls.put(facet.getName(), facet.getCount() + mpCalls.get(facet.getName())); } } } return status; }
From source file:org.mousephenotype.cda.solr.repositories.image.ImagesSolrJ.java
License:Apache License
private QueryResponse runFacetQuery(String query, String facetField, int start, int length, String filterQuery) throws SolrServerException, IOException { SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery(query);/*w w w. j a v 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); } return sangerImagesCore.query(solrQuery); }
From source file:org.mousephenotype.cda.solr.service.AlleleService.java
License:Apache License
/** * * @param geneIds the input set of gene ids * @param statusField the status field/*from ww w . j ava 2 s .co m*/ * @return Number of genes (from the provided list) in each status of interest. */ public HashMap<String, Long> getStatusCount(Set<String> geneIds, String statusField) { HashMap<String, Long> res = new HashMap<>(); SolrQuery solrQuery = new SolrQuery(); QueryResponse solrResponse; if (geneIds != null) { String geneQuery = AlleleDTO.MGI_ACCESSION_ID + ":(" + StringUtils.join(geneIds, " OR ").replace(":", "\\:") + ")"; solrQuery.setQuery(geneQuery); } else { solrQuery.setQuery("*:*"); } solrQuery.setRows(1); solrQuery.setFacet(true); solrQuery.setFacetLimit(-1); try { solrQuery.addFacetField(statusField); solrResponse = alleleCore.query(solrQuery); for (Count c : solrResponse.getFacetField(statusField).getValues()) { res.put(c.getName(), c.getCount()); } } catch (SolrServerException | IOException e) { e.printStackTrace(); } return res; }
From source file:org.mousephenotype.cda.solr.service.AlleleService.java
License:Apache License
public TreeMap<String, Long> getStatusCountByPhenotypingCenter(String center, String statusField) { TreeMap<String, Long> res = new TreeMap<>(new PhenotypingStatusComparator()); SolrQuery solrQuery = new SolrQuery(); QueryResponse solrResponse;/*from ww w . j a v a 2 s .c o m*/ if (center != null) { String geneQuery = AlleleDTO.LATEST_PHENOTYPING_CENTRE + ":\"" + center + "\""; solrQuery.setQuery(geneQuery); } else { solrQuery.setQuery("*:*"); } solrQuery.setRows(1); solrQuery.setFacet(true); solrQuery.setFacetLimit(-1); try { solrQuery.addFacetField(statusField); solrResponse = alleleCore.query(solrQuery); for (Count c : solrResponse.getFacetField(statusField).getValues()) { // We don't want to show everything if (!(c.getName().equalsIgnoreCase("Cre Excision Started") || c.getName().equals(""))) { res.put(c.getName(), c.getCount()); } } } catch (SolrServerException | IOException e) { e.printStackTrace(); } return res; }
From source file:org.mousephenotype.cda.solr.service.AlleleService.java
License:Apache License
public TreeMap<String, Long> getStatusCountByProductionCenter(String center, String statusField) { TreeMap<String, Long> res = new TreeMap<>(new ProductionStatusComparator()); SolrQuery solrQuery = new SolrQuery(); QueryResponse solrResponse;/*ww w . j av a 2 s. co m*/ if (center != null) { String geneQuery = AlleleDTO.LATEST_PRODUCTION_CENTRE + ":\"" + center + "\""; solrQuery.setQuery(geneQuery); } else { solrQuery.setQuery("*:*"); } solrQuery.setRows(1); solrQuery.setFacet(true); solrQuery.setFacetLimit(-1); try { solrQuery.addFacetField(statusField); solrResponse = alleleCore.query(solrQuery); for (Count c : solrResponse.getFacetField(statusField).getValues()) { // We don't want to show everything if (!c.getName().equals("")) { res.put(c.getName(), c.getCount()); } } } catch (SolrServerException | IOException e) { e.printStackTrace(); } return res; }
From source file:org.mousephenotype.cda.solr.service.AlleleService.java
License:Apache License
public Set<String> getFacets(String field) { SolrQuery solrQuery = new SolrQuery(); QueryResponse solrResponse;//from w w w .ja va 2s. c om Set<String> res = new HashSet<>(); solrQuery.setQuery("*:*"); solrQuery.setFacet(true); solrQuery.setFacetLimit(-1); solrQuery.addFacetField(field); logger.info(this.getClass().getEnclosingMethod() + " " + SolrUtils.getBaseURL(alleleCore) + "/select?" + solrQuery); try { solrResponse = alleleCore.query(solrQuery); for (Count c : solrResponse.getFacetField(field).getValues()) { res.add(c.getName()); } } catch (SolrServerException | IOException e) { e.printStackTrace(); } return res; }
From source file:org.mousephenotype.cda.solr.service.ExpressionService.java
License:Apache License
private QueryResponse getAdultLaczImageFacetsForGene(String mgiAccession, String parameterStableId, String... fields) throws SolrServerException, IOException { //solrQuery.addFilterQuery(ImageDTO.PARAMETER_NAME + ":\"LacZ Images Section\" OR " + ImageDTO.PARAMETER_NAME // + ":\"LacZ Images Wholemount\"");// reduce the number to image // e.g.//from w w w . ja v a 2 s . co m // http://ves-ebi-d0.ebi.ac.uk:8090/mi/impc/dev/solr/impc_images/select?q=gene_accession_id:%22MGI:1920455%22&facet=true&facet.field=selected_top_level_ma_term&fq=(parameter_name:%22LacZ%20Images%20Section%22%20OR%20parameter_name:%22LacZ%20Images%20Wholemount%22) // for embryo data the fields would be like this // "parameter_name": "LacZ images section", // "procedure_name": "Embryo LacZ", SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery(ImageDTO.GENE_ACCESSION_ID + ":\"" + mgiAccession + "\""); if (!StringUtils.isEmpty(parameterStableId)) { solrQuery.addFilterQuery(ImageDTO.PARAMETER_STABLE_ID + ":" + parameterStableId);// reduce the number to image // parameters only as we are // talking about images not // expression data here } solrQuery.setFacetMinCount(1); solrQuery.setFacet(true); solrQuery.setFields(fields); solrQuery.addFacetField(ImageDTO.SELECTED_TOP_LEVEL_ANATOMY_TERM); solrQuery.setRows(Integer.MAX_VALUE); QueryResponse response = impcImagesCore.query(solrQuery); return response; }
From source file:org.mousephenotype.cda.solr.service.ExpressionService.java
License:Apache License
public List<Count> getLaczCategoricalParametersForGene(String mgiAccession, String... fields) throws SolrServerException, IOException { // e.g.//from w ww . java 2 s . co m // http://ves-ebi-d0.ebi.ac.uk:8090/mi/impc/dev/solr/impc_images/select?q=gene_accession_id:%22MGI:1920455%22&facet=true&facet.field=selected_top_level_ma_term&fq=(parameter_name:%22LacZ%20Images%20Section%22%20OR%20parameter_name:%22LacZ%20Images%20Wholemount%22) // for embryo data the fields would be like this // "parameter_name": "LacZ images section", // "procedure_name": "Embryo LacZ", SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery(ImageDTO.GENE_ACCESSION_ID + ":\"" + mgiAccession + "\""); solrQuery.addFilterQuery(ImageDTO.PROCEDURE_NAME + ":\"Adult LacZ\""); solrQuery.addFilterQuery("-" + ImageDTO.PARAMETER_NAME + ":\"LacZ Images Section\""); solrQuery.addFilterQuery("-" + ImageDTO.PARAMETER_NAME + ":\"LacZ Images Wholemount\""); solrQuery.addFilterQuery(ObservationDTO.CATEGORY + ":\"expression\""); // only look for expresssion at the moment as that is all the anatamogram can display solrQuery.setFacetMinCount(1); solrQuery.setFacet(true); solrQuery.setFields(fields); solrQuery.addFacetField(ImageDTO.PARAMETER_STABLE_ID); solrQuery.setRows(0); QueryResponse response = experimentCore.query(solrQuery); List<FacetField> categoryParameterFields = response.getFacetFields(); return categoryParameterFields.get(0).getValues(); }