List of usage examples for org.apache.solr.client.solrj SolrQuery addFacetQuery
public SolrQuery addFacetQuery(String f)
From source file:org.sparkcommerce.core.search.service.solr.SolrSearchServiceImpl.java
License:Apache License
/** * Notifies solr about which facets you want it to determine results and counts for * // w w w . j av a2s. c om * @param query * @param namedFacetMap */ protected void attachFacets(SolrQuery query, Map<String, SearchFacetDTO> namedFacetMap) { query.setFacet(true); for (Entry<String, SearchFacetDTO> entry : namedFacetMap.entrySet()) { SearchFacetDTO dto = entry.getValue(); String facetTagField = entry.getValue().isActive() ? shs.getGlobalFacetTagField() : entry.getKey(); // Clone the list - we don't want to remove these facets from the DB List<SearchFacetRange> facetRanges = new ArrayList<SearchFacetRange>( dto.getFacet().getSearchFacetRanges()); if (extensionManager != null) { extensionManager.getProxy().filterSearchFacetRanges(dto, facetRanges); } if (facetRanges != null && facetRanges.size() > 0) { for (SearchFacetRange range : facetRanges) { query.addFacetQuery(getSolrTaggedFieldString(entry.getKey(), facetTagField, "ex", range)); } } else { query.addFacetField(getSolrTaggedFieldString(entry.getKey(), facetTagField, "ex", null)); } } }
From source file:sk.opendatanode.utils.SolrQueryHelper.java
License:Open Source License
/** * adds facet query with relevant excluding tag * for example: facet.query:{!ex=def}type:ORGANIZATION_RECORD * //from www . j a v a 2 s. c om * @param type * @param solrQuery */ private static void addFacetItemQuery(FacetItemType type, SolrQuery solrQuery) { FacetInfo facetInfo = FacetFactory.getFacetInfo(type, null); if (facetInfo == null) return; for (FacetItem facetItem : facetInfo.getItemList()) { String exTag = DEF_EX_TAG.replace("type", facetItem.getQueryFieldName()); solrQuery.addFacetQuery(exTag + facetItem.getQuery()); } }