private void populateFacets(FulltextSearchQuery query, SearchQuery sourceQuery) { String fieldFacet = sourceQuery.getFacetField(); if (StringUtils.isNotEmpty(fieldFacet)) { Facet facet = new Facet(); FacetParameters params = new FacetParameters().setMinCount(1); facet.addFieldFacet(fieldFacet, params); query.setFacet(facet); } }
private void applyFacets(SearchScheme scheme, FulltextSearchQuery query, AdvancedSearchRequest request) { List<FieldCondition> facetsConditions = extractConditions(request, AdvancedFieldConditionType.FACET); SearchCriterionTransformerHint hints = new SearchCriterionTransformerHint(true, true); if (CollectionUtils.isNotEmpty(facetsConditions)) { SearchCriterion criterions = conditionsToCriterionTransformer.transformConditionsListToSearchCriterion(facetsConditions, SearchOperator.AND); addTransformedSearchCriterionToQuery(criterions, query, transformFlow, hints, scheme, false); } if (!Boolean.parseBoolean(request.getProperty(SearchRequestProperties.FORCE_FACET_DISABLED))) { Facet f = retrieveSchemeDefinedFacets(scheme, hints.getFieldsUsed(), request); query.setFacet(f); } }
private void tryFacet() { int batchSize = 1; ResultsFormat resultsFormat = new ResultsFormat(new FieldRequest(pl.edu.icm.synat.logic.index.publication.CollectionIndexFieldConstants.FIELD_EXID, true)); FulltextSearchQuery searchQuery = null; searchQuery = new FulltextSearchQuery(0, batchSize, resultsFormat, new FieldCriterion("*", "*", SearchOperator.AND)); Facet facet = new Facet(); facet.addFieldFacet(PublicationIndexFieldConstants.FIELD_TYPE); searchQuery.setFacet(facet); FulltextSearchResults searchResults = indexService.performSearch(searchQuery); FieldFacetResult facetResult = searchResults.getFacetResult().getFieldFacetResult(PublicationIndexFieldConstants.FIELD_TYPE); Set<Entry<String,Long>> entrySet = facetResult.getValues().entrySet(); for (Entry<String, Long> entry : entrySet) { System.out.println("["+entry.getKey()+"]="+entry.getValue()); } }
@Override @Cacheable(value = CACHE_NAME) public List<String> preapareDataSets() { int batchSize = 1; ResultsFormat resultsFormat = new ResultsFormat( new FieldRequest(CollectionIndexFieldConstants.FIELD_EXID, true)); FulltextSearchQuery searchQuery = new FulltextSearchQuery(0, batchSize, resultsFormat , new FieldCriterion(ALL, ALL, SearchOperator.AND)); Facet facet = new Facet(); facet.addFieldFacet(PublicationIndexFieldConstants.FIELD_DATASET); searchQuery.setFacet(facet); return portalIndexSearchService.performSearch(searchQuery, ApplicationConstants.DEFAULT_DATASET); }
private FulltextSearchResults getFacet(String facetFieldName, SearchCriterion criterion, SuggestionsQuery query) { ResultsFormat results = new ResultsFormat(new FieldRequest(facetFieldName)); FulltextSearchQuery indexQuery = new FulltextSearchQuery(query.getPageNo() * query.getPageSize(), query.getPageSize(), results, criterion); Facet facet = new Facet(); facet.addFieldFacet(facetFieldName); FacetParameters parameters = new FacetParameters(); parameters.setMinCount(1); facet.setParameters(parameters); indexQuery.setFacet(facet); FulltextSearchResults result = peopleIndex.performSearch(indexQuery); return result; }
query.setFacet(transformFacet(fromObject.getFacet()));