List of usage examples for org.apache.solr.client.solrj SolrQuery set
public ModifiableSolrParams set(String name, String... val)
From source file:uk.ac.ebi.phis.service.ChannelService.java
License:Apache License
public String getChannelAsJsonString(String channelId, Integer resNo) { SolrQuery solrQuery = new SolrQuery(); channelId = handleSpecialCharacters(channelId); solrQuery.setQuery(ChannelDTO.ID + ":\"" + channelId + "\""); if (resNo != null) { solrQuery.setRows(resNo);//from w ww. j a va 2 s . co m } else { solrQuery.setRows(10000); } solrQuery.set("wt", "json"); System.out.println("------ ChannelPojo" + getQueryUrl(solrQuery)); try { return JSONRestUtil.getResults(getQueryUrl(solrQuery)).toString(); } catch (IOException e) { e.printStackTrace(); } catch (URISyntaxException e) { e.printStackTrace(); } return "Couldn't get anything back from solr."; }
From source file:uk.ac.ebi.phis.service.ChannelService.java
License:Apache License
public String getChannels(String imageId, Integer resNo) { SolrQuery solrQuery = new SolrQuery(); imageId = handleSpecialCharacters(imageId); solrQuery.setQuery(ChannelDTO.ASSOCIATED_IMAGE + ":\"" + imageId + "\""); if (resNo != null) { solrQuery.setRows(resNo);// w ww .ja v a 2 s. co m } else { solrQuery.setRows(10000); } solrQuery.set("wt", "json"); try { return JSONRestUtil.getResults(getQueryUrl(solrQuery)).toString(); } catch (IOException e) { e.printStackTrace(); } catch (URISyntaxException e) { e.printStackTrace(); } return "getChannels : Couldn't get anything back from solr."; }
From source file:uk.ac.ebi.phis.service.ImageService.java
License:Apache License
public String getImages(String term, String phenotype, String mutantGene, String anatomy, String expressedGene, String sex, String taxon, String imageType, String sampleType, String stage, String visualisationMethod, String samplePreparation, String imagingMethod, Integer rows, Integer start, String genericGene, String chromosome, String strand, Long position, Long startPosition, Long endPosition, String hostName) throws SolrServerException, PhisQueryException { SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery("*:*"); // boosted queries String bq = ""; String qf = ""; if (term != null) { solrQuery.setQuery("(" + ImageDTO.GENERIC_SEARCH + ":" + handleSpecialCharacters(term) + " OR " + ImageDTO.GENERIC_SEARCH_ANCESTORS + ":" + handleSpecialCharacters(term) + ")"); if (term.contains(" ")) { String[] splittedQuery = term.split(" "); String query = ImageDTO.GENERIC_SEARCH + ":" + org.apache.commons.lang3.StringUtils .join(splittedQuery, "^10 " + ImageDTO.GENERIC_SEARCH + ":"); bq += ImageDTO.GENERIC_SEARCH + ":\"" + term + "\"^100 " + handleSpecialCharacters(query) + " " + ImageDTO.GENERIC_SEARCH_ANCESTORS + ":\"" + term + "\"^1 " + ImageDTO.GENERIC_SEARCH_ANCESTORS + ":" + org.apache.commons.lang3.StringUtils .join(splittedQuery, "^0.1 " + ImageDTO.GENERIC_SEARCH_ANCESTORS + ":"); qf += ImageDTO.GENERIC_SEARCH; } else {//from w w w . ja va2 s . co m solrQuery.addFilterQuery("(" + ImageDTO.GENERIC_SEARCH + ":" + handleSpecialCharacters(term) + " OR " + ImageDTO.GENERIC_SEARCH_ANCESTORS + ":" + handleSpecialCharacters(term) + ")"); } } if (phenotype != null) { phenotype = handleSpecialCharacters(phenotype); bq += ImageDTO.PHENOTYPE_ID_BAG + ":\"" + phenotype + "\"^100 " + ImageDTO.PHENOTYPE_FREETEXT_BAG + ":\"" + phenotype + "\"^70 " + ImageDTO.PHENOTYPE_LABEL_BAG + ":\"" + phenotype + "\"^100 " + ImageDTO.PHENOTYPE_ANCESTORS + ":\"" + phenotype + "\"^0.001 " + ImageDTO.PHENOTYPE_SYNONYMS_BAG + ":\"" + phenotype + "\"^0.1 "; solrQuery.addFilterQuery(ImageDTO.PHENOTYPE_ID_BAG + ":\"" + phenotype + "\" OR " + ImageDTO.PHENOTYPE_FREETEXT_BAG + ":\"" + phenotype + "\" OR " + ImageDTO.PHENOTYPE_LABEL_BAG + ":\"" + phenotype + "\" OR " + ImageDTO.PHENOTYPE_ANCESTORS + ":\"" + phenotype + "\""); } if (visualisationMethod != null) { visualisationMethod = handleSpecialCharacters(visualisationMethod); bq += ImageDTO.VISUALISATION_METHOD_ID + ":\"" + visualisationMethod + "\"^100 " + ImageDTO.VISUALISATION_METHOD_LABEL + ":\"" + visualisationMethod + "\"^100 " + ImageDTO.VISUALISATION_METHOD_ANCESTORS + ":\"" + visualisationMethod + "\"^0.001 "; solrQuery.addFilterQuery(ImageDTO.VISUALISATION_METHOD_ID + ":\"" + visualisationMethod + "\" OR " + ImageDTO.VISUALISATION_METHOD_LABEL + ":\"" + visualisationMethod + "\" OR " + ImageDTO.VISUALISATION_METHOD_ANCESTORS + ":\"" + visualisationMethod + "\""); } if (samplePreparation != null) { samplePreparation = handleSpecialCharacters(samplePreparation); bq += ImageDTO.SAMPLE_PREPARATION_ID + ":\"" + samplePreparation + "\"^100 " + ImageDTO.SAMPLE_PREPARATION_LABEL + ":\"" + samplePreparation + "\"^100 " + ImageDTO.SAMPLE_PREPARATION_ANCESTORS + ":\"" + samplePreparation + "\"^0.001 "; solrQuery.addFilterQuery(ImageDTO.SAMPLE_PREPARATION_ID + ":\"" + samplePreparation + "\" OR " + ImageDTO.SAMPLE_PREPARATION_LABEL + ":\"" + samplePreparation + "\" OR " + ImageDTO.SAMPLE_PREPARATION_ANCESTORS + ":\"" + samplePreparation + "\""); } if (imagingMethod != null) { imagingMethod = handleSpecialCharacters(imagingMethod); bq = ImageDTO.IMAGING_METHOD_LABEL_ANALYSED + ":\"" + imagingMethod + "\"^100 " + ImageDTO.IMAGING_METHOD_ID + ":\"" + imagingMethod + "\"^100 " + ImageDTO.IMAGING_METHOD_ANCESTORS + ":\"" + imagingMethod + "\"^0.001 "; solrQuery.addFilterQuery(ImageDTO.IMAGING_METHOD_LABEL_ANALYSED + ":\"" + imagingMethod + "\" OR " + ImageDTO.IMAGING_METHOD_ID + ":\"" + imagingMethod + "\" OR " + ImageDTO.IMAGING_METHOD_ANCESTORS + ":\"" + imagingMethod + "\""); } if (anatomy != null) { anatomy = handleSpecialCharacters(anatomy); bq += ImageDTO.GENERIC_ANATOMY + ":\"" + anatomy + "\"^100 " + ImageDTO.GENERIC_ANATOMY_ANCESTORS + ":\"" + anatomy + "\"^0.001 "; solrQuery.addFilterQuery(ImageDTO.GENERIC_ANATOMY + ":\"" + anatomy + "\" OR " + ImageDTO.GENERIC_ANATOMY_ANCESTORS + ":\"" + anatomy + "\""); } if (!bq.equals("")) { solrQuery.set("defType", "edismax"); solrQuery.set("bq", bq); } if (!qf.equals("")) { solrQuery.set("qf", qf); } // Non-boosted queries if (mutantGene != null) { mutantGene = handleSpecialCharacters(mutantGene); solrQuery.addFilterQuery(ImageDTO.GENE_ID + ":\"" + mutantGene + "\" OR " + ImageDTO.GENE_SYMBOL + ":\"" + mutantGene + "\""); } if (hostName != null) { solrQuery.addFilterQuery(ImageDTO.HOST_NAME + ":\"" + hostName + "\""); } if (genericGene != null) { genericGene = handleSpecialCharacters(genericGene); solrQuery.addFilterQuery(ImageDTO.GENE_ID + ":\"" + genericGene + "\" OR " + ImageDTO.GENE_SYMBOL + ":\"" + genericGene + "\" OR " + ImageDTO.EXPRESSED_GF_ID_BAG + ":\"" + genericGene + "\" OR " + ImageDTO.EXPRESSED_GF_SYMBOL_BAG + ":\"" + genericGene + "\" OR " + ImageDTO.MUTANT_GENE_ID_BAG + ":\"" + genericGene + "\" OR " + ImageDTO.MUTANT_GENE_SYMBOL_BAG + ":\"" + genericGene + "\" OR " + ImageDTO.MUTANT_GENE_SYNONYMS_BAG + ":\"" + genericGene + "\""); } if (expressedGene != null) { expressedGene = handleSpecialCharacters(expressedGene); solrQuery.addFilterQuery(ImageDTO.EXPRESSED_GF_ID_BAG + ":\"" + expressedGene + "\" OR " + ImageDTO.EXPRESSED_GF_SYMBOL_BAG + ":\"" + expressedGene + "\""); } if (taxon != null) { taxon = handleSpecialCharacters(taxon); solrQuery.addFilterQuery( ImageDTO.TAXON + ":\"" + taxon + "\" OR " + ImageDTO.NCBI_TAXON_ID + ":\"" + taxon + "\""); } if (imageType != null) { imageType = handleSpecialCharacters(imageType); solrQuery.addFilterQuery(ImageDTO.IMAGE_TYPE + ":\"" + imageType + "\""); } if (sampleType != null) { sampleType = handleSpecialCharacters(sampleType); solrQuery.addFilterQuery(ImageDTO.SAMPLE_TYPE + ":\"" + sampleType + "\""); } if (stage != null) { stage = handleSpecialCharacters(stage); solrQuery.addFilterQuery(ImageDTO.STAGE + ":\"" + stage + "\" OR " + ImageDTO.STAGE_ID + ":\"" + stage + "\" OR " + ImageDTO.STAGE_ANCESTORS + ":\"" + stage + "\" OR " + ImageDTO.STAGE_FACET + ":\"" + stage + "\""); } if (sex != null) { sex = handleSpecialCharacters(sex); solrQuery.addFilterQuery(ImageDTO.SEX + ":\"" + sex + "\""); } if (chromosome != null) { solrQuery.addFilterQuery(ImageDTO.CHROMOSOME + ":" + chromosome); } if (position != null) { solrQuery.addFilterQuery("(" + ImageDTO.END_POS + ":[* TO " + position + "] AND " + ImageDTO.START_POS + ":[" + position + " TO *])"); } if (strand != null) { solrQuery.addFilterQuery(ImageDTO.STRAND + ":\"" + strand + "\""); } if (startPosition != null && endPosition != null) { solrQuery.addFilterQuery(ImageDTO.START_POS + ":[" + startPosition + " TO " + endPosition + "] OR " + ImageDTO.END_POS + ":[" + startPosition + " TO " + endPosition + "]"); ; } else if (startPosition != null && endPosition == null || startPosition == null && endPosition != null) { throw new PhisQueryException(PhisQueryException.START_END_POS); } if (rows != null) { solrQuery.setRows(rows); } else solrQuery.setRows(100); if (start != null) { solrQuery.set("start", start); } solrQuery.set("wt", "json"); solrQuery.setFacet(true); solrQuery.addFacetField(ImageDTO.STAGE_FACET); solrQuery.addFacetField(ImageDTO.IMAGING_METHOD_LABEL); solrQuery.addFacetField(ImageDTO.TAXON); solrQuery.addFacetField(ImageDTO.SAMPLE_TYPE); solrQuery.addFacetField(ImageDTO.IMAGE_GENERATED_BY); solrQuery.addFacetField(ImageDTO.HOST_NAME); solrQuery.addFacetField(ImageDTO.IMAGE_TYPE); solrQuery.setFacetMinCount(0); solrQuery.set("facet.pivot.mincount", 0); // add pivot facets to get the number of image types per solrQuery.set("facet.pivot", ImageDTO.SAMPLE_TYPE + "," + ImageDTO.IMAGE_TYPE); System.out.println("\nSolr URL : " + solr.getBaseURL() + "/select?" + solrQuery); log.info("Solr URL in getImages : " + solr.getBaseURL() + "/select?" + solrQuery); try { return JSONRestUtil.getResults(getQueryUrl(solrQuery)).toString(); } catch (IOException e) { e.printStackTrace(); } catch (URISyntaxException e) { e.printStackTrace(); } return "Couldn't get anything back from solr."; }
From source file:uk.ac.ebi.phis.service.ImageService.java
License:Apache License
public String getImageAsJsonString(String imageId) { SolrQuery solrQuery = new SolrQuery(); imageId = handleSpecialCharacters(imageId); solrQuery.setQuery(ImageDTO.ID + ":\"" + imageId + "\""); solrQuery.set("wt", "json"); System.out.println("------ ImagePojo" + getQueryUrl(solrQuery)); try {// ww w.j a v a2s. c o m return JSONRestUtil.getResults(getQueryUrl(solrQuery)).toString(); } catch (IOException e) { e.printStackTrace(); } catch (URISyntaxException e) { e.printStackTrace(); } return "Is this a valid id? Couldn't get anything back from solr."; }
From source file:uk.ac.ebi.phis.service.RoiService.java
License:Apache License
public String getRoiAsJsonString(String roiId, Integer resNo) { SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery("*:*"); roiId = handleSpecialCharacters(roiId); solrQuery.setFilterQueries(RoiDTO.ID + ":\"" + roiId + "\""); if (resNo != null) { solrQuery.setRows(resNo);//www. ja v a 2 s.c o m } else { solrQuery.setRows(10000); } solrQuery.set("wt", "json"); System.out.println("------ ROI" + getQueryUrl(solrQuery)); try { return JSONRestUtil.getResults(getQueryUrl(solrQuery)).toString(); } catch (IOException e) { e.printStackTrace(); } catch (URISyntaxException e) { e.printStackTrace(); } return "Couldn't get anything back from solr."; }
From source file:uk.ac.ebi.phis.service.RoiService.java
License:Apache License
public String getRois(String imageId, String roiId, String owner, String group, String createdAfter, String createdBefore, String lastEditAfter, String lastEditBefore, Integer resNo) { SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery("*:*"); imageId = handleSpecialCharacters(imageId); if (imageId != null) { solrQuery.setFilterQueries(RoiDTO.ASSOCIATED_IMAGE_ID + ":\"" + imageId + "\""); }// www. j a v a 2s . c o m if (roiId != null) { solrQuery.addFilterQuery(RoiDTO.ID + ":\"" + roiId + "\""); } if (owner != null) { solrQuery.addFilterQuery(RoiDTO.USER_OWNER + ":\"" + owner + "\""); } if (group != null) { solrQuery.addFilterQuery(RoiDTO.USER_GROUP + ":\"" + group + "\""); } if (lastEditAfter != null) { if (lastEditBefore != null) { solrQuery.addFilterQuery(RoiDTO.EDIT_DATE + ":[" + lastEditAfter + " TO " + lastEditBefore + "]"); } else { solrQuery.addFilterQuery(RoiDTO.EDIT_DATE + ":[" + lastEditAfter + " TO *]"); } } if (lastEditBefore != null) { if (lastEditAfter != null) { solrQuery.addFilterQuery(RoiDTO.EDIT_DATE + ":[" + lastEditAfter + " TO " + lastEditBefore + "]"); } else { solrQuery.addFilterQuery(RoiDTO.EDIT_DATE + ":[* TO " + lastEditBefore + "]"); } } if (createdAfter != null) { if (createdBefore != null) { solrQuery.addFilterQuery(RoiDTO.CREATION_DATE + ":[" + createdAfter + " TO " + createdBefore + "]"); } else { solrQuery.addFilterQuery(RoiDTO.CREATION_DATE + ":[" + createdAfter + " TO *]"); } } if (createdBefore != null) { if (createdAfter != null) { solrQuery.addFilterQuery(RoiDTO.CREATION_DATE + ":[" + createdAfter + " TO " + createdBefore + "]"); } else { solrQuery.addFilterQuery(RoiDTO.CREATION_DATE + ":[* TO " + createdBefore + "]"); } } if (resNo != null) { solrQuery.setRows(resNo); } else { solrQuery.setRows(10000); } solrQuery.set("wt", "json"); try { return JSONRestUtil.getResults(getQueryUrl(solrQuery)).toString(); } catch (IOException e) { e.printStackTrace(); } catch (URISyntaxException e) { e.printStackTrace(); } return "Couldn't get anything back from solr."; }
From source file:uk.ac.edukapp.repository.SolrConnector.java
License:Apache License
/** * Execute a MoreLikeThis query on the Solr server * /*www . j a va2 s . c o m*/ * @param term * the match term, typically a uri: match * @param lang * the language core to search * @return more widgets like the one identified by term */ public List<Widget> moreLikeThis(String term, String lang) { try { SolrServer server = getLocalizedSolrServer(lang); SolrQuery query = new SolrQuery(); query.setQueryType("/" + MoreLikeThisParams.MLT); query.set(MoreLikeThisParams.MATCH_INCLUDE, false); query.set(MoreLikeThisParams.MIN_DOC_FREQ, 1); query.set(MoreLikeThisParams.MIN_TERM_FREQ, 1); query.set(MoreLikeThisParams.SIMILARITY_FIELDS, "title,description"); query.setQuery(term); QueryResponse rsp = server.query(query); List<Widget> widgets = rsp.getBeans(Widget.class); return widgets; } catch (Exception e) { e.printStackTrace(); } return new ArrayList<Widget>(); }
From source file:uk.bl.wa.annotation.Annotator.java
License:Open Source License
private static void searchAndApplyAnnotations(Annotations ann, SurtPrefixSet oaSurts, String solrServer) throws SolrServerException, URISyntaxException, IOException { // Connect to solr: SolrClient solr = new HttpSolrClient(solrServer); // Set up annotator: Annotator anr = new Annotator(ann, oaSurts); // Loop over URL known to ACT: for (String scope : ann.getCollections().keySet()) { if ("resource".equals(scope)) { // Search for all matching URLs in SOLR: for (String uriKey : ann.getCollections().get(scope).keySet()) { LOG.info("Looking for URL: " + uriKey); SolrQuery parameters = new SolrQuery(); parameters.set("q", "url:" + ClientUtils.escapeQueryChars(uriKey)); searchAndApplyAnnotations(anr, solr, parameters); }// ww w. j av a 2 s .co m } else if ("root".equals(scope)) { // Search for all matching URLs in SOLR: for (String uriKey : ann.getCollections().get(scope).keySet()) { LOG.info("Looking for URLs starting with: " + uriKey); SolrQuery parameters = new SolrQuery(); parameters.set("q", "url:" + ClientUtils.escapeQueryChars(uriKey) + "*"); searchAndApplyAnnotations(anr, solr, parameters); } } else { LOG.warn("Ignoring annotations scoped as: " + scope); } } // And commit: solr.commit(); }