List of usage examples for org.apache.solr.client.solrj SolrQuery setRows
public SolrQuery setRows(Integer rows)
From source file:org.mousephenotype.cda.solr.repositories.image.ImagesSolrJ.java
License:Apache License
/** * Get all SOLR documents for a mammalian phenotype ontology term * * @param mpId the phenotype term to query for * @param start offset from zero// ww w .ja v a2s. c o m * @param length how many docs to return */ public QueryResponse getDocsForMpTerm(String mpId, int start, int length) throws SolrServerException, IOException { String id = processQuery(mpId); String query = "mp_id:" + id; log.debug("solr query=" + query); SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery(query); solrQuery.setStart(start); solrQuery.setRows(length); solrQuery.setFields(ImageDTO.FULL_RESOLUTION_FILE_PATH, "smallThumbnailFilePath", "largeThumbnailFilePath", "institute", "gender", "genotype", "maTerm", "annotationTermName", "genotypeString"); return sangerImagesCore.query(solrQuery); }
From source file:org.mousephenotype.cda.solr.repositories.image.ImagesSolrJ.java
License:Apache License
/** * Returns documents from Solr Index filtered by the passed in query * filterField e.g. annotationTerm:large ear * @throws SolrServerException, IOException * * *//*from w w w . j av a 2 s . c o m*/ public QueryResponse getFilteredDocsForQuery(String query, List<String> filterFields, String qf, String defType, int start, int length) throws SolrServerException, IOException { 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 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 w ww .jav a 2s. c o 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 www .ja v a2 s . com 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;/*from ww w. ja v a 2s. c o 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.ExpressionService.java
License:Apache License
public QueryResponse getExpressionImagesForGeneByAnatomy(String mgiAccession, String anatomy, String experimentOrControl, int numberOfImagesToRetrieve, SexType sex, String metadataGroup, String strain) throws SolrServerException, IOException { SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery(ImageDTO.GENE_ACCESSION_ID + ":\"" + mgiAccession + "\""); solrQuery.addFilterQuery(ImageDTO.BIOLOGICAL_SAMPLE_GROUP + ":" + experimentOrControl); if (StringUtils.isNotEmpty(metadataGroup)) { solrQuery.addFilterQuery(ImageDTO.METADATA_GROUP + ":" + metadataGroup); }//from ww w . j a va2 s . com if (StringUtils.isNotEmpty(strain)) { solrQuery.addFilterQuery(ImageDTO.STRAIN_NAME + ":" + strain); } if (sex != null) { solrQuery.addFilterQuery(ImageDTO.SEX + ":" + sex.name()); } if (StringUtils.isNotEmpty(anatomy)) { solrQuery.addFilterQuery(ImageDTO.PARAMETER_ASSOCIATION_NAME + ":\"" + anatomy + "\""); } // solrQuery.addFilterQuery(ObservationDTO.PROCEDURE_NAME + ":\"" + // procedure_name + "\""); solrQuery.setRows(numberOfImagesToRetrieve); QueryResponse response = impcImagesCore.query(solrQuery); return response; }
From source file:org.mousephenotype.cda.solr.service.ExpressionService.java
License:Apache License
/** * * @param mgiAccession/*from w w w .ja v a 2 s . c om*/ * if mgi accesion null assume a request for control data * @param fields * @return * @throws SolrServerException, IOException */ public QueryResponse getExpressionTableDataImages(String mgiAccession, boolean embryo, String... fields) throws SolrServerException, IOException { // e.g. // http://ves-ebi-d0.ebi.ac.uk:8090/mi/impc/dev/solr/impc_images/select?q=gene_accession_id:%22MGI:106209%22&facet=true&facet.field=ma_term&facet.mincount=1&fq=(parameter_name:%22LacZ%20Images%20Section%22%20OR%20parameter_name:%22LacZ%20Images%20Wholemount%22) SolrQuery solrQuery = new SolrQuery(); if (mgiAccession != null) { solrQuery.setQuery(ImageDTO.GENE_ACCESSION_ID + ":\"" + mgiAccession + "\""); } else { // http://ves-ebi-d0.ebi.ac.uk:8090/mi/impc/dev/solr/impc_images/select?q=biological_sample_group:control&facet=true&facet.field=ma_term&facet.mincount=1&fq=(parameter_name:%22LacZ%20Images%20Section%22%20OR%20parameter_name:%22LacZ%20Images%20Wholemount%22)&rows=100000 solrQuery.setQuery(ObservationDTO.BIOLOGICAL_SAMPLE_GROUP + ":\"" + "control" + "\""); } if (embryo) { solrQuery.addFilterQuery(ImageDTO.PARAMETER_NAME + ":\"LacZ images Section\" OR " + ImageDTO.PARAMETER_NAME + ":\"LacZ images wholemount\""); } else { solrQuery.addFilterQuery(ImageDTO.PARAMETER_NAME + ":\"LacZ Images Section\" OR " + ImageDTO.PARAMETER_NAME + ":\"LacZ Images Wholemount\""); } solrQuery.setFields(fields); solrQuery.setRows(100000); solrQuery.setSort(ObservationDTO.ID, SolrQuery.ORDER.asc); QueryResponse response = impcImagesCore.query(solrQuery); return response; }
From source file:org.mousephenotype.cda.solr.service.ExpressionService.java
License:Apache License
/** * * @param mgiAccession//from w w w . j a v a 2 s .c o m * if mgi accesion null assume a request for control data * @param fields * @return * @throws SolrServerException, IOException */ private QueryResponse getCategoricalAdultLacZData(String mgiAccession, boolean embryo, String... fields) throws SolrServerException, IOException { // e.g. // http://ves-ebi-d0.ebi.ac.uk:8090/mi/impc/dev/solr/experiment/select?q=gene_accession_id:%22MGI:1351668%22&facet=true&facet.field=parameter_name&facet.mincount=1&fq=(procedure_name:%22Adult%20LacZ%22)&rows=10000 SolrQuery solrQuery = new SolrQuery(); if (mgiAccession != null) { solrQuery.setQuery(ImageDTO.GENE_ACCESSION_ID + ":\"" + mgiAccession + "\""); } else { // http://ves-ebi-d0.ebi.ac.uk:8090/mi/impc/dev/solr/impc_images/select?q=biological_sample_group:control&facet=true&facet.field=ma_term&facet.mincount=1&fq=(parameter_name:%22LacZ%20Images%20Section%22%20OR%20parameter_name:%22LacZ%20Images%20Wholemount%22)&rows=100000 solrQuery.setQuery(ObservationDTO.BIOLOGICAL_SAMPLE_GROUP + ":\"" + "control" + "\""); } if (embryo) { solrQuery.addFilterQuery(ImageDTO.PROCEDURE_NAME + ":\"Embryo LacZ\""); solrQuery.addFilterQuery("-" + ImageDTO.PARAMETER_NAME + ":\"LacZ images section\""); solrQuery.addFilterQuery("-" + ImageDTO.PARAMETER_NAME + ":\"LacZ images wholemount\""); solrQuery.addFilterQuery(ObservationDTO.OBSERVATION_TYPE + ":\"categorical\""); } else { 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.OBSERVATION_TYPE + ":\"categorical\""); } solrQuery.addSort(ImageDTO.ID, SolrQuery.ORDER.asc); solrQuery.setFields(fields); solrQuery.setRows(Integer.MAX_VALUE); solrQuery.setSort(ObservationDTO.ID, SolrQuery.ORDER.asc); QueryResponse response = experimentCore.query(solrQuery); return response; }
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 . j ava 2 s. c om*/ // 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./* w ww . ja v a2 s. c o 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(); }