List of usage examples for org.apache.solr.client.solrj SolrQuery setFacetLimit
public SolrQuery setFacetLimit(int lim)
From source file:org.hoteia.qalingo.core.solr.service.ProductMarketingSolrService.java
License:Apache License
public ProductMarketingResponseBean searchProductMarketing(final String searchQuery, final String facetField, final BigDecimal priceStart, final BigDecimal priceEnd, final List<String> filterQueries) throws SolrServerException, IOException { SolrQuery solrQuery = new SolrQuery(); solrQuery.setParam("rows", ROWS_DEFAULT_VALUE); solrQuery.setQuery(searchQuery);//from w w w .j a va 2 s .c om if (StringUtils.isNotEmpty(facetField)) { solrQuery.setFacet(true); solrQuery.setFacetMinCount(1); solrQuery.setFacetLimit(8); solrQuery.addFacetField(facetField); } for (Iterator<String> iterator = filterQueries.iterator(); iterator.hasNext();) { String filterQuery = (String) iterator.next(); solrQuery.addFilterQuery(filterQuery); } logger.debug("QueryRequest solrQuery: " + solrQuery); SolrRequest request = new QueryRequest(solrQuery, METHOD.POST); QueryResponse response = new QueryResponse(productMarketingSolrServer.request(request), productMarketingSolrServer); logger.debug("QueryResponse Obj: " + response.toString()); List<ProductMarketingSolr> solrList = response.getBeans(ProductMarketingSolr.class); ProductMarketingResponseBean productMarketingResponseBean = new ProductMarketingResponseBean(); productMarketingResponseBean.setProductMarketingSolrList(solrList); if (StringUtils.isNotEmpty(facetField)) { List<FacetField> solrFacetFieldList = response.getFacetFields(); productMarketingResponseBean.setProductMarketingSolrFacetFieldList(solrFacetFieldList); } return productMarketingResponseBean; }
From source file:org.hoteia.qalingo.core.solr.service.ProductMarketingSolrService.java
License:Apache License
public ProductMarketingResponseBean searchProductMarketing() throws SolrServerException, IOException { SolrQuery solrQuery = new SolrQuery(); solrQuery.setParam("rows", ROWS_DEFAULT_VALUE); solrQuery.setQuery("*"); solrQuery.setFacet(true);/*from w ww . ja v a 2 s . c o m*/ solrQuery.setFacetMinCount(1); solrQuery.setFacetLimit(8); solrQuery.addFacetField(ProductMarketingResponseBean.PRODUCT_MARKETING_SEARCH_FIELD_CATEGORIES_CODE); logger.debug("QueryRequest solrQuery: " + solrQuery); SolrRequest request = new QueryRequest(solrQuery, METHOD.POST); QueryResponse response = new QueryResponse(productMarketingSolrServer.request(request), productMarketingSolrServer); logger.debug("QueryResponse Obj: " + response.toString()); List<ProductMarketingSolr> solrList = response.getBeans(ProductMarketingSolr.class); List<FacetField> solrFacetFieldList = response.getFacetFields(); ProductMarketingResponseBean productMarketingResponseBean = new ProductMarketingResponseBean(); productMarketingResponseBean.setProductMarketingSolrList(solrList); productMarketingResponseBean.setProductMarketingSolrFacetFieldList(solrFacetFieldList); return productMarketingResponseBean; }
From source file:org.hoteia.qalingo.core.solr.service.ProductSkuSolrService.java
License:Apache License
public ProductSkuResponseBean searchProductSku(String searchBy, String searchText, String facetField) throws SolrServerException, IOException { SolrQuery solrQuery = new SolrQuery(); solrQuery.setParam("rows", ROWS_DEFAULT_VALUE); if (StringUtils.isEmpty(searchBy)) { throw new IllegalArgumentException("SearchBy field can not be Empty or Blank!"); }/*from w ww. j av a2s .c om*/ if (StringUtils.isEmpty(searchText)) { solrQuery.setQuery(searchBy + ":*"); } else { solrQuery.setQuery(searchBy + ":" + searchText + "*"); } if (StringUtils.isNotEmpty(facetField)) { solrQuery.setFacet(true); solrQuery.setFacetMinCount(1); solrQuery.setFacetLimit(8); solrQuery.addFacetField(facetField); } logger.debug("QueryRequest solrQuery: " + solrQuery); SolrRequest request = new QueryRequest(solrQuery, METHOD.POST); QueryResponse response = new QueryResponse(productSkuSolrServer.request(request), productSkuSolrServer); logger.debug("QueryResponse Obj: " + response.toString()); List<ProductSkuSolr> solrList = response.getBeans(ProductSkuSolr.class); ProductSkuResponseBean productResponseBean = new ProductSkuResponseBean(); productResponseBean.setProductSkuSolrList(solrList); if (StringUtils.isNotEmpty(facetField)) { List<FacetField> solrFacetFieldList = response.getFacetFields(); productResponseBean.setProductSkuSolrFacetFieldList(solrFacetFieldList); } return productResponseBean; }
From source file:org.hoteia.qalingo.core.solr.service.ProductSkuSolrService.java
License:Apache License
public ProductSkuResponseBean searchProductSku() throws SolrServerException, IOException { SolrQuery solrQuery = new SolrQuery(); solrQuery.setParam("rows", ROWS_DEFAULT_VALUE); solrQuery.setQuery("*"); solrQuery.setFacet(true);// ww w.j a v a2 s . c om solrQuery.setFacetMinCount(1); solrQuery.setFacetLimit(8); solrQuery.addFacetField("name"); solrQuery.addFacetField("code"); logger.debug("QueryRequest solrQuery: " + solrQuery); SolrRequest request = new QueryRequest(solrQuery, METHOD.POST); QueryResponse response = new QueryResponse(productSkuSolrServer.request(request), productSkuSolrServer); logger.debug("QueryResponse Obj: " + response.toString()); List<ProductSkuSolr> solrList = response.getBeans(ProductSkuSolr.class); List<FacetField> solrFacetFieldList = response.getFacetFields(); ProductSkuResponseBean productSkuResponseBean = new ProductSkuResponseBean(); productSkuResponseBean.setProductSkuSolrList(solrList); productSkuResponseBean.setProductSkuSolrFacetFieldList(solrFacetFieldList); return productSkuResponseBean; }
From source file:org.hoteia.qalingo.core.solr.service.StoreSolrService.java
License:Apache License
public StoreResponseBean searchStore(String searchBy, String searchText, List<String> facetFields, List<String> cities, List<String> countries) throws SolrServerException, IOException { SolrQuery solrQuery = new SolrQuery(); solrQuery.setParam("rows", ROWS_DEFAULT_VALUE); if (StringUtils.isEmpty(searchBy)) { throw new IllegalArgumentException("SearchBy field can not be Empty or Blank!"); }//from w ww.j ava 2s .co m if (StringUtils.isEmpty(searchText)) { solrQuery.setQuery(searchBy + ":*"); } else { solrQuery.setQuery(searchBy + ":" + searchText + "*"); } if (facetFields != null && facetFields.size() > 0) { solrQuery.setFacet(true); solrQuery.setFacetMinCount(1); solrQuery.setFacetLimit(30); for (String facetField : facetFields) { solrQuery.addFacetField(facetField); } } if (cities != null && cities.size() > 0) { StringBuilder fq = new StringBuilder("city:("); for (int i = 0; i < cities.size(); i++) { String city = cities.get(i); fq.append('"' + city + '"'); if (i < cities.size() - 1) { fq.append(" OR "); } } fq.append(")"); solrQuery.addFilterQuery(fq.toString()); } if (countries != null && countries.size() > 0) { StringBuilder fq = new StringBuilder("countrycode:("); for (int i = 0; i < countries.size(); i++) { String country = countries.get(i); fq.append('"' + country + '"'); if (i < countries.size() - 1) { fq.append(" OR "); } } fq.append(")"); solrQuery.addFilterQuery(fq.toString()); } 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); StoreResponseBean storeResponseBean = new StoreResponseBean(); storeResponseBean.setStoreSolrList(solrList); if (facetFields != null && facetFields.size() > 0) { List<FacetField> solrFacetFieldList = response.getFacetFields(); storeResponseBean.setStoreSolrFacetFieldList(solrFacetFieldList); } return storeResponseBean; }
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 .ja v a 2s .c o m 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.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 .ja v a 2 s. com*/ 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.indexers.MPIndexer.java
License:Apache License
private RunStatus populateMpCallMaps(Map<String, Synonym> synonyms) throws IOException, SolrServerException, URISyntaxException, JSONException { RunStatus status = new RunStatus(); List<SolrClient> ss = new ArrayList<>(); ss.add(genotypePhenotypeCore);/*from www . j a v a2s .c om*/ for (int i = 0; i < ss.size(); i++) { SolrClient solrSvr = ss.get(i); SolrQuery query = new SolrQuery(); query.setQuery("*:*"); query.setFacet(true); query.setRows(0); query.addFacetField(GenotypePhenotypeDTO.MP_TERM_ID); query.addFacetField(GenotypePhenotypeDTO.INTERMEDIATE_MP_TERM_ID); query.addFacetField(GenotypePhenotypeDTO.TOP_LEVEL_MP_TERM_ID); query.setFacetLimit(-1); for (FacetField facetGroup : solrSvr.query(query).getFacetFields()) { for (FacetField.Count facet : facetGroup.getValues()) { if (!mpCalls.containsKey(facet.getName())) { mpCalls.put(facet.getName(), new Long(0)); Map<String, Integer> geneVariantCount = getPhenotypeGeneVariantCounts(facet.getName(), status, synonyms); int gvCount = geneVariantCount.get("sumCount"); mpGeneVariantCount.put(facet.getName(), gvCount); } mpCalls.put(facet.getName(), facet.getCount() + mpCalls.get(facet.getName())); } } } return status; }
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/* w w w .ja v a2s. 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 ww w.j a va 2 s . c o 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; }