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

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

Introduction

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

Prototype

public SolrQuery setStart(Integer start) 

Source Link

Usage

From source file:uk.ac.ebi.intact.dataexchange.psimi.solr.ontology.OntologySearcher.java

License:Apache License

private OntologyNames searchOntologyNamesById(String fieldId, String id, Integer firstResult,
        Integer maxResults) throws SolrServerException {
    SolrQuery query = new SolrQuery(fieldId + ":\"" + id + "\"");

    if (firstResult != null)
        query.setStart(firstResult);
    if (maxResults != null)
        query.setRows(maxResults);//from w w w .java 2s .  com

    QueryResponse response = search(query, new String[] { OntologyFieldNames.CHILD_NAME,
            OntologyFieldNames.CHILDREN_SYNONYMS, OntologyFieldNames.CHILD_ID });

    return extractNamesAndSynonymsFrom(response);
}

From source file:uk.ac.ebi.intact.dataexchange.psimi.solr.ontology.OntologySearcher.java

License:Apache License

private OntologyNames searchOntologyNamesByName(String fieldId, String name, Integer firstResult,
        Integer maxResults) throws SolrServerException {
    SolrQuery query = new SolrQuery(fieldId + ":\"" + name + "\"");

    if (firstResult != null)
        query.setStart(firstResult);
    if (maxResults != null)
        query.setRows(maxResults);// w  ww.j  av  a  2  s  . co  m

    QueryResponse response = search(query, new String[] { OntologyFieldNames.CHILD_NAME,
            OntologyFieldNames.CHILDREN_SYNONYMS, OntologyFieldNames.CHILD_ID });

    return extractNamesAndSynonymsFrom(response);
}

From source file:uk.ac.ebi.intact.dataexchange.psimi.solr.ontology.OntologySearcher.java

License:Apache License

private List<OntologyTerm> searchById(String fieldId, String id, Integer firstResult, Integer maxResults)
        throws SolrServerException {
    SolrQuery query = new SolrQuery(fieldId + ":\"" + id + "\"");

    if (firstResult != null)
        query.setStart(firstResult);
    if (maxResults != null)
        query.setRows(maxResults);/* w ww . j  a va 2s  .c  om*/

    if (FieldName.CHILDREN_ID.equalsIgnoreCase(fieldId)) {
        return processParentsHits(search(query, new String[] { OntologyFieldNames.PARENT_ID,
                OntologyFieldNames.PARENT_NAME, OntologyFieldNames.PARENT_SYNONYMS }), id);
    } else if (FieldName.PARENT_ID.equalsIgnoreCase(fieldId)) {
        return processChildrenHits(search(query, new String[] { OntologyFieldNames.CHILD_ID,
                OntologyFieldNames.CHILD_NAME, OntologyFieldNames.CHILDREN_SYNONYMS }), id);
    } else {
        return processParentsHits(search(query, new String[] { OntologyFieldNames.PARENT_ID,
                OntologyFieldNames.PARENT_NAME, OntologyFieldNames.PARENT_SYNONYMS }), id);
    }
}

From source file:uk.ac.ebi.intact.dataexchange.psimi.solr.ontology.OntologySearcher.java

License:Apache License

public Set<String> getOntologyNames() throws SolrServerException {
    if (ontologyNames == null) {
        SolrQuery query = new SolrQuery("*:*");
        query.setStart(0);
        query.setRows(0);//from www  .  j a v  a2  s  . c  o  m

        // prepare faceting
        query.setFacet(true);
        query.setParam(FacetParams.FACET_FIELD, "ontology");
        query.setFacetLimit(10);
        query.setFacetMinCount(1);
        query.set(FacetParams.FACET_OFFSET, 0);

        // order by unique id
        query.addSortField(OntologyFieldNames.ID, SolrQuery.ORDER.asc);

        QueryResponse response = search(query, null);
        FacetField facetField = response.getFacetField("ontology");

        if (facetField.getValues() == null) {
            return Collections.EMPTY_SET;
        }

        ontologyNames = new HashSet<String>(facetField.getValues().size());

        for (FacetField.Count c : facetField.getValues()) {
            ontologyNames.add(c.getName());
        }
    }

    return ontologyNames;
}

From source file:uk.ac.ebi.phenotype.imaging.springrest.images.dao.ImagesSolrJ.java

License:Apache License

private SolrDocumentList runQuery(String query, int start, int length) throws SolrServerException {

    SolrQuery solrQuery = new SolrQuery();

    log.debug("solr query=" + query);
    solrQuery.setQuery(query);//from   w w  w. j  a v a 2s.  c om
    solrQuery.setStart(start);
    solrQuery.setRows(length);
    solrQuery.setFields("id");

    QueryResponse rsp = null;
    rsp = server.query(solrQuery);

    return rsp.getResults();
}

From source file:uk.ac.ebi.phenotype.imaging.springrest.images.dao.ImagesSolrJ.java

License:Apache License

private QueryResponse runFacetQuery(String query, String facetField, int start, int length, String filterQuery)
        throws SolrServerException {

    SolrQuery solrQuery = new SolrQuery();
    //   System.out.println("facet solr query=" + query);
    solrQuery.setQuery(query);/*  w ww.  j av  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);
    }
    //   System.out.println("exp facet query="+solrQuery.toString());
    return server.query(solrQuery);
}

From source file:uk.ac.ebi.phenotype.imaging.springrest.images.dao.ImagesSolrJ.java

License:Apache License

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

    SolrQuery solrQuery = new SolrQuery();

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

    solrQuery.setQuery(query);//  w  w w  .  j  a v a  2s  . c o  m
    solrQuery.setStart(start);
    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 server.query(solrQuery);
}

From source file:uk.ac.ebi.phenotype.imaging.springrest.images.dao.ImagesSolrJ.java

License:Apache License

/**
 * Get all SOLR documents for a mammalian phenotype ontology term
 * //w  w  w  .  j  a  v  a  2s .  c o m
 * @param mpId the phenotype term to query for
 * @param start offset from zero
 * @param length how many docs to return
 */
public QueryResponse getDocsForMpTerm(String mpId, int start, int length) throws SolrServerException {

    String id = SolrUtils.processQuery(mpId);
    String query = "annotationTermId:" + id;

    log.debug("solr query=" + query);

    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery(query);
    solrQuery.setStart(start);
    solrQuery.setRows(length);
    return server.query(solrQuery);
}

From source file:uk.ac.ebi.phenotype.imaging.springrest.images.dao.ImagesSolrJ.java

License:Apache License

/**
 * Returns documents from Solr Index filtered by the passed in query
 * filterField e.g. annotationTerm:large ear
 * @throws SolrServerException /*from  w  ww. 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 {

    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 server.query(solrQuery);
}

From source file:uk.ac.ebi.phenotype.solr.indexer.AlleleIndexer.java

License:Apache License

@Override
public void run() throws IndexerException {

    int start = 0;
    long rows = 0;
    long startTime = new Date().getTime();

    try {//from  w w  w. j a v  a 2 s  . c  o m
        connection = komp2DataSource.getConnection();

        initializeSolrCores();

        SolrQuery query = new SolrQuery("mgi_accession_id:MGI* OR mgi_accession_id:CGI*");
        query.addFilterQuery(
                "feature_type:* AND -feature_type:Pseudogene AND -feature_type:\"heritable+phenotypic+marker\" AND type:gene");

        query.setRows(BATCH_SIZE);

        logger.info("Populating lookups");

        populateStatusLookup();
        logger.info("Populated status lookup, {} records", statusLookup.size());

        populateHumanSymbolLookup();
        logger.info("Populated human symbol lookup, {} records", humanSymbolLookup.size());

        populateDiseaseLookup();
        logger.info("Populated disease lookup, {} records", diseaseLookup.size());

        populateLegacyLookup();
        logger.info("Populated legacy project lookup, {} records", legacyProjectLookup.size());

        // GoTerm from GO at EBI: MGI gene id to GO term mapping
        populateGoTermLookup();
        logger.info("Populated go terms lookup, {} records", goTermLookup.size());

        // MGI gene id to Uniprot accession mapping
        populateMgi2UniprotLookup();
        logger.info("Populated mgi to uniprot lookup, {} records", mgi2UniprotLookup.size());

        // Uniprot to pfamA mapping
        //populateUniprot2pfamA();
        //logger.info("Populated uniprot to pfamA lookup, {} records", uniprotAccPfamAnnotLookup.size());
        logger.info("Populated uniprot to pfamA lookup is skipped for now");

        alleleCore.deleteByQuery("*:*");
        alleleCore.commit();

        while (start <= rows) {
            query.setStart(start);
            QueryResponse response = sangerAlleleCore.query(query);
            rows = response.getResults().getNumFound();
            List<SangerGeneBean> sangerGenes = response.getBeans(SangerGeneBean.class);

            // Convert to Allele DTOs
            Map<String, AlleleDTO> alleles = convertSangerGeneBeans(sangerGenes);

            // Look up the marker synonyms
            lookupMarkerSynonyms(alleles);

            // Look up the human mouse symbols
            lookupHumanMouseSymbols(alleles);

            // Look up the ES cell status
            lookupEsCellStatus(alleles);

            // Look up the disease data
            lookupDiseaseData(alleles);

            // Look up the GO Term data
            lookupGoData(alleles);

            // Look up gene to Uniprot mapping
            lookupUniprotAcc(alleles);

            // Look up uniprot to pfamA mapping
            // NOTE: this MUST be done after lookupUniprotAcc()
            //lookupUniprotAcc2pfamA(alleles);

            // Now index the alleles
            documentCount += alleles.size();
            indexAlleles(alleles);

            start += BATCH_SIZE;

            logger.info("Indexed {} records", start);

        }

        alleleCore.commit();

    } catch (SQLException | SolrServerException | IOException | ClassNotFoundException e) {
        throw new IndexerException(e);
    }

    logger.debug("Complete - took {}ms", (new Date().getTime() - startTime));
}