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

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

Introduction

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

Prototype

public SolrQuery setFacetMinCount(int cnt) 

Source Link

Document

set facet minimum count

Usage

From source file:org.hoteia.qalingo.core.solr.service.StoreSolrService.java

License:Apache License

public StoreResponseBean searchStore() throws SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setParam("rows", ROWS_DEFAULT_VALUE);

    solrQuery.setQuery("*");
    solrQuery.setFacet(true);//from  ww  w.  j  a va 2  s . com
    solrQuery.setFacetMinCount(1);
    solrQuery.setFacetLimit(8);
    solrQuery.addFacetField("name");

    logger.debug("QueryRequest solrQuery: " + solrQuery);

    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);

    QueryResponse response = new QueryResponse(storeSolrServer.request(request), storeSolrServer);

    logger.debug("QueryResponse Obj: " + response.toString());

    List<StoreSolr> solrList = response.getBeans(StoreSolr.class);
    List<FacetField> solrFacetFieldList = response.getFacetFields();
    StoreResponseBean storeResponseBean = new StoreResponseBean();
    storeResponseBean.setStoreSolrList(solrList);
    storeResponseBean.setStoreSolrFacetFieldList(solrFacetFieldList);
    return storeResponseBean;
}

From source file:org.hoteia.qalingo.core.solr.service.UserSolrService.java

License:Apache License

public UserResponseBean searchUser(final String searchQuery, final List<String> facetFields,
        final List<String> filterQueries, final SolrParam solrParam)
        throws IllegalArgumentException, SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();

    if (solrParam != null) {
        if (solrParam.get("rows") != null) {
            solrQuery.setParam("rows", (String) solrParam.get("rows"));
        } else {//  www . j a  v a2s  .c o m
            solrQuery.setParam("rows", getMaxResult());
        }

        if (solrParam.get("sortField") != null) {
            SortField sortField = (SortField) solrParam.get("sortField");
            for (Iterator<String> iterator = sortField.keySet().iterator(); iterator.hasNext();) {
                String field = (String) iterator.next();
                solrQuery.addSortField(field, sortField.get(field));
            }
        }
    }

    if (StringUtils.isEmpty(searchQuery)) {
        throw new IllegalArgumentException("SearchQuery field can not be Empty or Blank!");
    }
    solrQuery.setQuery(searchQuery);

    if (facetFields != null && !facetFields.isEmpty()) {
        solrQuery.setFacet(true);
        solrQuery.setFacetMinCount(1);
        for (String facetField : facetFields) {
            solrQuery.addFacetField(facetField);
        }
    }

    logger.debug("QueryRequest solrQuery: " + solrQuery);

    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);

    QueryResponse response = new QueryResponse(userSolrServer.request(request), userSolrServer);

    logger.debug("QueryResponse Obj: " + response.toString());

    List<UserSolr> solrList = response.getBeans(UserSolr.class);
    UserResponseBean userResponseBean = new UserResponseBean();
    userResponseBean.setUserSolrList(solrList);

    if (facetFields != null && !facetFields.isEmpty()) {
        List<FacetField> solrFacetFieldList = response.getFacetFields();
        userResponseBean.setUserSolrFacetFieldList(solrFacetFieldList);
    }
    return userResponseBean;
}

From source file:org.hoteia.qalingo.core.solr.service.UserSolrService.java

License:Apache License

@Deprecated
public UserResponseBean searchUser(String searchBy, String searchText, List<String> facetFields)
        throws IllegalArgumentException, SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setParam("rows", getMaxResult());

    if (StringUtils.isEmpty(searchBy)) {
        throw new IllegalArgumentException("SearchBy field can not be Empty or Blank!");
    }//from  w  w  w  . ja  va  2  s  .c om

    if (StringUtils.isEmpty(searchText)) {
        solrQuery.setQuery(searchBy + ":*");
    } else {
        solrQuery.setQuery(searchBy + ":" + searchText + "*");
    }

    if (facetFields != null && !facetFields.isEmpty()) {
        solrQuery.setFacet(true);
        solrQuery.setFacetMinCount(1);
        for (String facetField : facetFields) {
            solrQuery.addFacetField(facetField);
        }
    }

    logger.debug("QueryRequest solrQuery: " + solrQuery);

    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);

    QueryResponse response = new QueryResponse(userSolrServer.request(request), userSolrServer);

    logger.debug("QueryResponse Obj: " + response.toString());

    List<UserSolr> solrList = response.getBeans(UserSolr.class);
    UserResponseBean userResponseBean = new UserResponseBean();
    userResponseBean.setUserSolrList(solrList);

    if (facetFields != null && !facetFields.isEmpty()) {
        List<FacetField> solrFacetFieldList = response.getFacetFields();
        userResponseBean.setUserSolrFacetFieldList(solrFacetFieldList);
    }
    return userResponseBean;
}

From source file:org.hoteia.qalingo.core.solr.service.UserSolrService.java

License:Apache License

public UserResponseBean searchUser() throws IllegalArgumentException, SolrServerException, IOException {
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setParam("rows", getMaxResult());

    solrQuery.setQuery("*");
    solrQuery.setFacet(true);//w ww .ja  v  a 2  s  . c  om
    solrQuery.setFacetMinCount(1);
    solrQuery.addFacetField("lastname");

    logger.debug("QueryRequest solrQuery: " + solrQuery);

    SolrRequest request = new QueryRequest(solrQuery, METHOD.POST);

    QueryResponse response = new QueryResponse(userSolrServer.request(request), userSolrServer);

    logger.debug("QueryResponse Obj: " + response.toString());

    List<UserSolr> solrList = response.getBeans(UserSolr.class);
    List<FacetField> solrFacetFieldList = response.getFacetFields();

    UserResponseBean userResponseBean = new UserResponseBean();
    userResponseBean.setUserSolrList(solrList);
    userResponseBean.setUserSolrFacetFieldList(solrFacetFieldList);
    return userResponseBean;
}

From source file:org.kuali.ole.docstore.engine.service.rest.DocstoreRestClient_UT.java

License:Open Source License

public void searchBibWithFacets(String facetSort) throws Exception {
    String[] facets = { "Author_facet", "Format_facet", "Genre_facet", "Language_facet",
            "PublicationDate_facet", "PublicationDate_sort" };
    String[] fieldList = { "LocalId_display", "Title_sort", "Title_display", "JournalTitle_display",
            "Author_display", "Publisher_display", "ISBN_display", "ISSN_display", "Subject_display",
            "Publisher_display", "PublicationDate_display", "Edition_display", "Format_display",
            "Language_display", "Description_display", "FormGenre_display", "DocFormat", "staffOnlyFlag",
            "bibIdentifier", "holdingsIdentifier" };
    String args = "(DocType:bibliographic)AND((*:*))";
    SolrServer solr = SolrServerManager.getInstance().getSolrServer();
    SolrQuery query = new SolrQuery();
    query.setQuery(args);/*from  ww w. j a v  a 2  s .c om*/
    query.setFacet(true);
    query.addFacetField(facets);
    query.setFacetMinCount(1);
    query.setFacetSort(facetSort);
    query.setFacetLimit(5);
    query.setFields(fieldList);
    query.set("facet.offset", "0");
    QueryResponse response = solr.query(query);
    System.out.println("Search result count " + response.getResults().getNumFound()
            + " and  time taken to search is " + response.getQTime());
}

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

License:Apache License

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

    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery(query);// www.ja  va2s.com
    solrQuery.setStart(start);
    solrQuery.setRows(length);
    solrQuery.setFacet(true);
    solrQuery.setFacetMinCount(1);
    solrQuery.addFacetField(facetField);
    if (filterQuery != "") {
        solrQuery.addFilterQuery(filterQuery);
    }

    return sangerImagesCore.query(solrQuery);

}

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 ww  . j  a  v  a  2  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 + "\"");
    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  w  w  .  j  av a 2s .  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.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();
}

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 . j a  va 2  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.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.ExpressionService.java

License:Apache License

public Map<String, Set<String>> getFacets(String anatomyId) throws SolrServerException, IOException {
    Map<String, Set<String>> res = new HashMap<>();
    SolrQuery query = getBasicExpressionQuery(anatomyId); // only have expressed and
    // not expressed ingnore
    // ambiguous and no tissue
    //query.addFilterQuery("(" + ImageDTO.PARAMETER_ASSOCIATION_VALUE + ":\"no expression\" OR " + ImageDTO.PARAMETER_ASSOCIATION_VALUE
    //      + ":\"expression\"" + ")");
    query.setFacet(true);//  ww  w . j a  va 2 s.co  m
    query.setFacetLimit(-1);
    query.setFacetMinCount(1);
    query.addFacetField(ObservationDTO.ANATOMY_TERM);
    query.addFacetField(ObservationDTO.PHENOTYPING_CENTER);
    query.addFacetField(ObservationDTO.PROCEDURE_NAME);
    query.addFacetField(ObservationDTO.CATEGORY);

    QueryResponse response = experimentCore.query(query);
    for (FacetField facetField : response.getFacetFields()) {
        Set<String> filter = new TreeSet<>();
        for (Count facet : facetField.getValues()) {
            filter.add(facet.getName());

        }

        res.put(facetField.getName(), filter);
    }

    return res;
}