Example usage for org.apache.solr.client.solrj SolrQuery setQuery

List of usage examples for org.apache.solr.client.solrj SolrQuery setQuery

Introduction

In this page you can find the example usage for org.apache.solr.client.solrj SolrQuery setQuery.

Prototype

public SolrQuery setQuery(String query) 

Source Link

Usage

From source file:org.mousephenotype.cda.solr.repositories.image.ImagesSolrJ.java

License:Apache License

public QueryResponse getDocsForGeneWithFacetField(String geneId, String facetName, String facetValue,
        String filterQuery, int start, int length) throws SolrServerException, IOException {

    SolrQuery solrQuery = new SolrQuery();

    String processedGeneId = processQuery(geneId);
    String query = "accession:" + processedGeneId;

    solrQuery.setQuery(query);
    solrQuery.setStart(start);//from ww  w .  j  ava  2 s. com
    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 sangerImagesCore.query(solrQuery);
}

From source file:org.mousephenotype.cda.solr.repositories.image.ImagesSolrJ.java

License:Apache License

/**
 * @since 2016/02/25//from w  w w  .j  a  v  a 2s . c  om
 * @author ilinca
 * @return
 * @throws SolrServerException, IOException
 */
public SolrDocumentList getImagesForLacZ() throws SolrServerException, IOException {

    SolrQuery query = new SolrQuery();
    query.setQuery("procedure_name:*LacZ*");
    query.addFilterQuery("ma_id:*");
    query.addFilterQuery("accession:*");
    query.addField("ma_id");
    query.addField("accession");
    query.setRows(Integer.MAX_VALUE);
    return sangerImagesCore.query(query).getResults();
}

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/*  www .ja  v  a2  s  . com*/
 * @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 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, 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.repositories.image.ImagesSolrJ.java

License:Apache License

@Override
public long getWebStatus() throws SolrServerException, IOException {
    SolrQuery query = new SolrQuery();

    query.setQuery("*:*").setRows(0);

    //System.out.println("SOLR URL WAS " + SolrUtils.getBaseURL(solr) + "/select?" + query);

    QueryResponse response = sangerImagesCore.query(query);
    return response.getResults().getNumFound();
}

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/* ww w  .j ava 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 .co  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;/*from  w  ww  . j  a  va 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;/*  www. j ava2s. c  o m*/
    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;
}