List of usage examples for org.apache.solr.client.solrj SolrQuery setSort
public SolrQuery setSort(String field, ORDER order)
From source file:org.mousephenotype.cda.solr.service.ExpressionService.java
License:Apache License
/** * * @param mgiAccession/* w w w . j a v a2 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 getEmbryoLaczImageFacetsForGene(String mgiAccession, String parameterStableId, String... fields) throws SolrServerException, IOException { //solrQuery.addFilterQuery(ImageDTO.PARAMETER_STABLE_ID + ":IMPC_ELZ_064_001" + " OR " //+ ImageDTO.PARAMETER_STABLE_ID + ":IMPC_ELZ_063_001"); // e.g.//from w w w. java 2 s . com // 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.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); solrQuery.setSort(ObservationDTO.ID, SolrQuery.ORDER.asc); QueryResponse response = impcImagesCore.query(solrQuery); return response; }
From source file:org.mousephenotype.cda.solr.service.GenotypePhenotypeService.java
License:Apache License
public SolrDocumentList getPhenotypesForTopLevelTerm(String gene, String mpID, ZygosityType zygosity) throws SolrServerException, IOException { String query;/* w w w. j a v a2 s . co m*/ if (gene.equalsIgnoreCase("*")) { query = GenotypePhenotypeDTO.MARKER_ACCESSION_ID + ":" + gene + " AND "; } else { query = GenotypePhenotypeDTO.MARKER_ACCESSION_ID + ":\"" + gene + "\" AND "; } SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery(query + "(" + GenotypePhenotypeDTO.TOP_LEVEL_MP_TERM_ID + ":\"" + mpID + "\" OR " + GenotypePhenotypeDTO.MP_TERM_ID + ":\"" + mpID + "\")"); solrQuery.setRows(1000000); solrQuery.setSort(StatisticalResultDTO.P_VALUE, ORDER.asc); solrQuery.setFields(GenotypePhenotypeDTO.P_VALUE, GenotypePhenotypeDTO.SEX, GenotypePhenotypeDTO.ZYGOSITY, GenotypePhenotypeDTO.MARKER_ACCESSION_ID, GenotypePhenotypeDTO.MARKER_SYMBOL, GenotypePhenotypeDTO.MP_TERM_ID, GenotypePhenotypeDTO.MP_TERM_NAME, GenotypePhenotypeDTO.TOP_LEVEL_MP_TERM_ID, GenotypePhenotypeDTO.TOP_LEVEL_MP_TERM_NAME); if (zygosity != null) { solrQuery.setFilterQueries(GenotypePhenotypeDTO.ZYGOSITY + ":" + zygosity.getName()); } SolrDocumentList result = genotypePhenotypeCore.query(solrQuery).getResults(); return result; }
From source file:org.mousephenotype.cda.solr.service.GenotypePhenotypeService.java
License:Apache License
public PhenotypeFacetResult getMPByGeneAccessionAndFilter(String accId, List<String> topLevelMpTermName, List<String> resourceFullname) throws IOException, URISyntaxException, JSONException { String solrUrl = SolrUtils.getBaseURL(genotypePhenotypeCore) + "/select?"; SolrQuery q = new SolrQuery(); q.setQuery(GenotypePhenotypeDTO.MARKER_ACCESSION_ID + ":\"" + accId + "\""); q.setRows(10000000);/* ww w . j a va 2 s . c om*/ q.setFacet(true); q.setFacetMinCount(1); q.setFacetLimit(-1); q.addFacetField(GenotypePhenotypeDTO.TOP_LEVEL_MP_TERM_NAME); //q.addFacetField(GenotypePhenotypeDTO.RESOURCE_FULLNAME); q.set("wt", "json"); q.setSort(GenotypePhenotypeDTO.P_VALUE, ORDER.asc); if (topLevelMpTermName != null) { q.addFilterQuery(GenotypePhenotypeDTO.TOP_LEVEL_MP_TERM_NAME + ":(\"" + StringUtils.join(topLevelMpTermName, "\" OR \"") + "\")"); } solrUrl += q; return createPhenotypeResultFromSolrResponse(solrUrl); }
From source file:org.mousephenotype.cda.solr.service.GenotypePhenotypeService.java
License:Apache License
public PhenotypeFacetResult getMPCallByMPAccessionAndFilter(String phenotype_id, List<String> procedureName, List<String> markerSymbol, List<String> mpTermName, Map<String, Synonym> synonyms) throws IOException, URISyntaxException, JSONException { String url = SolrUtils.getBaseURL(genotypePhenotypeCore) + "/select/?"; SolrQuery q = new SolrQuery(); q.setQuery("*:*"); q.addFilterQuery("(" + GenotypePhenotypeDTO.MP_TERM_ID + ":\"" + phenotype_id + "\" OR " + GenotypePhenotypeDTO.TOP_LEVEL_MP_TERM_ID + ":\"" + phenotype_id + "\" OR " + GenotypePhenotypeDTO.INTERMEDIATE_MP_TERM_ID + ":\"" + phenotype_id + "\")"); q.setRows(10000000);/*from w w w . j ava 2 s.c om*/ q.setFacet(true); q.setFacetMinCount(1); q.setFacetLimit(-1); q.addFacetField(GenotypePhenotypeDTO.PROCEDURE_NAME); q.addFacetField(GenotypePhenotypeDTO.MARKER_SYMBOL); q.addFacetField(GenotypePhenotypeDTO.MP_TERM_NAME); q.set("wt", "json"); q.setSort(GenotypePhenotypeDTO.P_VALUE, ORDER.asc); q.setFields(GenotypePhenotypeDTO.MP_TERM_NAME, GenotypePhenotypeDTO.MP_TERM_ID, GenotypePhenotypeDTO.MPATH_TERM_NAME, GenotypePhenotypeDTO.MPATH_TERM_ID, GenotypePhenotypeDTO.EXTERNAL_ID, GenotypePhenotypeDTO.TOP_LEVEL_MP_TERM_ID, GenotypePhenotypeDTO.TOP_LEVEL_MP_TERM_NAME, GenotypePhenotypeDTO.ALLELE_SYMBOL, GenotypePhenotypeDTO.PHENOTYPING_CENTER, GenotypePhenotypeDTO.ALLELE_ACCESSION_ID, GenotypePhenotypeDTO.MARKER_SYMBOL, GenotypePhenotypeDTO.MARKER_ACCESSION_ID, GenotypePhenotypeDTO.PHENOTYPING_CENTER, GenotypePhenotypeDTO.ZYGOSITY, GenotypePhenotypeDTO.SEX, GenotypePhenotypeDTO.LIFE_STAGE_NAME, GenotypePhenotypeDTO.RESOURCE_NAME, GenotypePhenotypeDTO.PARAMETER_STABLE_ID, GenotypePhenotypeDTO.PARAMETER_NAME, GenotypePhenotypeDTO.PIPELINE_STABLE_ID, GenotypePhenotypeDTO.PROJECT_NAME, GenotypePhenotypeDTO.PROJECT_EXTERNAL_ID, GenotypePhenotypeDTO.P_VALUE, GenotypePhenotypeDTO.EFFECT_SIZE, GenotypePhenotypeDTO.PROCEDURE_STABLE_ID, GenotypePhenotypeDTO.PROCEDURE_NAME, GenotypePhenotypeDTO.PIPELINE_NAME); if (procedureName != null) { q.addFilterQuery(GenotypePhenotypeDTO.PROCEDURE_NAME + ":(\"" + StringUtils.join(procedureName, "\" OR \"") + "\")"); } if (markerSymbol != null) { q.addFilterQuery(GenotypePhenotypeDTO.MARKER_SYMBOL + ":(\"" + StringUtils.join(markerSymbol, "\" OR \"") + "\")"); } if (mpTermName != null) { q.addFilterQuery( GenotypePhenotypeDTO.MP_TERM_NAME + ":(\"" + StringUtils.join(mpTermName, "\" OR \"") + "\")"); } url += q; return createPhenotypeResultFromSolrResponse(url, synonyms); }
From source file:org.mousephenotype.cda.solr.service.GenotypePhenotypeService.java
License:Apache License
/** * Get a list of gene symbols for this phenotype * @param phenotype_id//from w ww . j a va2 s .c o m * @return * @throws IOException * @throws URISyntaxException * @throws SolrServerException */ public List<String> getGenesForMpId(String phenotype_id) throws IOException, URISyntaxException, SolrServerException { List<String> results = new ArrayList<>(); String url = SolrUtils.getBaseURL(genotypePhenotypeCore) + "/select/?"; SolrQuery q = new SolrQuery(); q.setQuery("*:*"); q.addFilterQuery("(" + GenotypePhenotypeDTO.MP_TERM_ID + ":\"" + phenotype_id + "\" OR " + GenotypePhenotypeDTO.TOP_LEVEL_MP_TERM_ID + ":\"" + phenotype_id + "\" OR " + GenotypePhenotypeDTO.INTERMEDIATE_MP_TERM_ID + ":\"" + phenotype_id + "\")"); q.setRows(10000000); q.setFacet(true); q.setFacetMinCount(1); q.setFacetLimit(-1); //q.addFacetField(GenotypePhenotypeDTO.MARKER_ACCESSION_ID); q.addFacetField(GenotypePhenotypeDTO.MARKER_SYMBOL); // q.addFacetField(GenotypePhenotypeDTO.MP_TERM_NAME ); q.set("wt", "json"); q.setSort(GenotypePhenotypeDTO.P_VALUE, ORDER.asc); q.setFields(GenotypePhenotypeDTO.MARKER_SYMBOL); // q.setFields(GenotypePhenotypeDTO.MP_TERM_NAME, GenotypePhenotypeDTO.MP_TERM_ID, GenotypePhenotypeDTO.MPATH_TERM_NAME, GenotypePhenotypeDTO.MPATH_TERM_ID, GenotypePhenotypeDTO.EXTERNAL_ID, // GenotypePhenotypeDTO.TOP_LEVEL_MP_TERM_ID, GenotypePhenotypeDTO.TOP_LEVEL_MP_TERM_NAME, GenotypePhenotypeDTO.ALLELE_SYMBOL, // GenotypePhenotypeDTO.PHENOTYPING_CENTER, GenotypePhenotypeDTO.ALLELE_ACCESSION_ID, GenotypePhenotypeDTO.MARKER_SYMBOL, // GenotypePhenotypeDTO.MARKER_ACCESSION_ID, GenotypePhenotypeDTO.PHENOTYPING_CENTER, GenotypePhenotypeDTO.ZYGOSITY, // GenotypePhenotypeDTO.SEX, GenotypePhenotypeDTO.LIFE_STAGE_NAME, GenotypePhenotypeDTO.RESOURCE_NAME, GenotypePhenotypeDTO.PARAMETER_STABLE_ID, GenotypePhenotypeDTO.PARAMETER_NAME, // GenotypePhenotypeDTO.PIPELINE_STABLE_ID, GenotypePhenotypeDTO.PROJECT_NAME, GenotypePhenotypeDTO.PROJECT_EXTERNAL_ID, // GenotypePhenotypeDTO.P_VALUE, GenotypePhenotypeDTO.EFFECT_SIZE, GenotypePhenotypeDTO.PROCEDURE_STABLE_ID, // GenotypePhenotypeDTO.PROCEDURE_NAME, GenotypePhenotypeDTO.PIPELINE_NAME); QueryResponse response = genotypePhenotypeCore.query(q); for (Count facet : response.getFacetField(GenotypePhenotypeDTO.MARKER_SYMBOL).getValues()) { //System.out.println("facet="+facet.getName()); results.add(facet.getName()); } return results; }
From source file:org.mousephenotype.cda.solr.service.ImageService.java
License:Apache License
/** * * @param metadataGroup/* ww w . j a va 2 s . com*/ * @param center * @param strain * @param procedure_name * @param parameter * @param date * @param numberOfImagesToRetrieve * @param sex * @return * @throws SolrServerException, IOException */ public QueryResponse getControlImagesForProcedure(String metadataGroup, String center, String strain, String procedure_name, String parameter, Date date, int numberOfImagesToRetrieve, SexType sex) throws SolrServerException, IOException { SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery("*:*"); solrQuery.addFilterQuery(ObservationDTO.BIOLOGICAL_SAMPLE_GROUP + ":control", ObservationDTO.PHENOTYPING_CENTER + ":\"" + center + "\"", ObservationDTO.STRAIN_NAME + ":" + strain, ObservationDTO.PARAMETER_STABLE_ID + ":" + parameter, ObservationDTO.PROCEDURE_NAME + ":\"" + procedure_name + "\""); solrQuery.setSort(ObservationDTO.DATE_OF_EXPERIMENT, SolrQuery.ORDER.asc); solrQuery.setRows(numberOfImagesToRetrieve); if (StringUtils.isNotEmpty(metadataGroup)) { solrQuery.addFilterQuery(ObservationDTO.METADATA_GROUP + ":" + metadataGroup); } if (sex != null) { solrQuery.addFilterQuery(ObservationDTO.SEX + ":" + sex.name()); } QueryResponse response = impcImagesCore.query(solrQuery); return response; }
From source file:org.mousephenotype.cda.solr.service.ObservationService.java
License:Apache License
public List<ObservationDTO> getObservationsByParameterStableId(String parameterStableId) throws SolrServerException, IOException { SolrQuery query = new SolrQuery(); query.setQuery(String.format("%s:\"%s\"", ObservationDTO.PARAMETER_STABLE_ID, parameterStableId)); query.setRows(Integer.MAX_VALUE); query.setSort(ObservationDTO.ID, SolrQuery.ORDER.asc); logger.info("getObservationsByParameterStableId Url: " + SolrUtils.getBaseURL(experimentCore) + "/select?" + query);//w w w .j a va2s. c o m return experimentCore.query(query).getBeans(ObservationDTO.class); }
From source file:org.mousephenotype.cda.solr.service.ObservationService.java
License:Apache License
public Set<String> getViabilityForGene(String acc) throws SolrServerException, IOException { SolrQuery query = new SolrQuery(); query.setQuery(ObservationDTO.PARAMETER_STABLE_ID + ":IMPC_VIA_001_001"); query.setFilterQueries(ObservationDTO.GENE_ACCESSION_ID + ":\"" + acc + "\""); query.addField(ObservationDTO.GENE_SYMBOL); query.addField(ObservationDTO.GENE_ACCESSION_ID); query.addField(ObservationDTO.CATEGORY); query.setSort(ObservationDTO.ID, SolrQuery.ORDER.asc); query.setRows(100000);// w w w .ja v a 2 s .c o m logger.info("getViabilityForGene Url" + SolrUtils.getBaseURL(experimentCore) + "/select?" + query); HashSet<String> viabilityCategories = new HashSet<>(); for (SolrDocument doc : experimentCore.query(query).getResults()) { viabilityCategories.add(doc.getFieldValue(ObservationDTO.CATEGORY).toString()); } return viabilityCategories; }
From source file:org.mousephenotype.cda.solr.service.ObservationService.java
License:Apache License
/** * Returns a <code>QueryResponse</code> of data found using the given resources, parameter stable ids, and category * comprising geneSymbol, geneAccessionId, colonyId, and category. * * @param resources//from w w w .j a va 2 s . com * @param parameterStableIds A list of parameter stable ids that is "or'd" together to produce the result (e.g. IMPC_VIA_001_001) * @param categories A list of categories that is "or'd" together to produce the result (e.g. Viable, Lethal, Male, Fertile) * @return a <code>QueryResponse</code> of data found using the given resources, parameter stable ids, and category, * comprising geneSymbol, geneAccessionId, colonyId, and category. * @throws SolrServerException, IOException */ public QueryResponse getData(List<String> resources, List<String> parameterStableIds, List<String> categories) throws SolrServerException, IOException { SolrQuery query = new SolrQuery(); if ((resources != null) && (!resources.isEmpty())) { query.setFilterQueries(ObservationDTO.DATASOURCE_NAME + ":" + StringUtils.join(resources, " OR " + ObservationDTO.DATASOURCE_NAME + ":")); } if ((categories != null) && (!categories.isEmpty())) { query.setFilterQueries(ObservationDTO.CATEGORY + ":" + StringUtils.join(categories, " OR " + ObservationDTO.CATEGORY + ":")); } if ((parameterStableIds != null) && (!parameterStableIds.isEmpty())) { query.setQuery(ObservationDTO.PARAMETER_STABLE_ID + ":" + StringUtils.join(parameterStableIds, " OR " + ObservationDTO.PARAMETER_STABLE_ID + ":")); } query.addField(ObservationDTO.GENE_SYMBOL); query.addField(ObservationDTO.GENE_ACCESSION_ID); query.addField(ObservationDTO.ALLELE_SYMBOL); query.addField(ObservationDTO.ALLELE_ACCESSION_ID); query.addField(ObservationDTO.PHENOTYPING_CENTER); query.addField(ObservationDTO.COLONY_ID); query.addField(ObservationDTO.CATEGORY); query.addField(ObservationDTO.SEX); query.addField(ObservationDTO.ZYGOSITY); query.setSort(ObservationDTO.ID, SolrQuery.ORDER.asc); query.setRows(1000000); logger.info("getData Url: " + SolrUtils.getBaseURL(experimentCore) + "/select?" + query); return experimentCore.query(query); }