private FacetParameters transformFacetParameters(final FacetParametersProto parametersProto) { FacetParameters facetParameters = new FacetParameters(); copyFieldsFromProto(parametersProto, facetParameters); return facetParameters; }
private FacetParameters paramsWithPrefix(String prefix) { return new FacetParameters().setMinCount(1).setPrefix(prefix).setSort(FacetSort.INDEX); }
@Override public List<String> suggestChildren(String id, String type, Map<String, String> parents) { if(StringUtils.isBlank(id)){ logger.warn("Empty id param"); return new LinkedList<>(); } if (JOURNAL_ANCESTOR_TYPES.contains(type)) { AdvancedSearchRequest searchRequest = prepareRequest(id, parents); FacetParameters params = new FacetParameters().setMinCount(1).setSort(FacetSort.INDEX).setLimit(NO_LIMIT); searchRequest.setOverriddenFacetParameters(Collections.singletonMap(PublicationIndexFieldConstants.FIELD_ANCESTOR_NAME + SEP + MAP_ANCESTOR_TYPE_TO_LEVEL.get(type), params)); setPropertyForFacet(searchRequest); MetadataSearchResults results = portalSearchService.search(searchRequest); return transform(type, results.getFacetResult()); } else { logger.warn("Unsupported type {}", type); return new LinkedList<>(); } }
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); } }
@Override protected void applyAdditionalCriteria(HttpServletRequest request, String resourceId, UserProfile userProfile, AdvancedSearchRequest searchRequest) { super.applyAdditionalCriteria(request, resourceId, userProfile, searchRequest); Map<String, FacetParameters> facets = Collections.singletonMap("categories", new FacetParameters().setMinCount(-1) .setPrefix(resourceId + ".").setSort(FacetSort.INDEX)); applyAdditionalParam(searchRequest, "categories", resourceId); searchRequest.setOverriddenFacetParameters(facets); }
@Override protected void applyAdditionalCriteria(HttpServletRequest request, String resourceId, UserProfile userProfile, AdvancedSearchRequest searchRequest) { super.applyAdditionalCriteria(request, resourceId, userProfile, searchRequest); Map<String, FacetParameters> facets = Collections.singletonMap("categories", new FacetParameters().setMinCount(-1) .setPrefix(resourceId + ".").setSort(FacetSort.INDEX)); applyAdditionalParam(searchRequest, "categories", resourceId); searchRequest.setOverriddenFacetParameters(facets); } }
@Override protected void applyAdditionalCriteria(HttpServletRequest request, String resourceId, UserProfile userProfile, AdvancedSearchRequest searchRequest) { applyAdditionalParam(searchRequest, "visibilityCondition", ConditionUtils.resourcePrivacyCondition(userProfile)); String id = resourceId; Map<String, FacetParameters> facets = Collections.singletonMap("categories", new FacetParameters().setMinCount(-1) .setPrefix(id + ".").setSort(FacetSort.INDEX)); applyAdditionalParam(searchRequest, "categories", id); searchRequest.setOverriddenFacetParameters(facets); }
@Override protected void applyAdditionalCriteria(HttpServletRequest request, String userId, UserProfile userProfile, AdvancedSearchRequest searchRequest) { applyAdditionalParam(searchRequest, PublicationIndexFieldConstants.FIELD_USER_UID_CONTRIBUTORS, ConditionUtils.resourceContributorCondition(userId)); final String visibilityMode = ServletRequestUtils.getStringParameter(request, LoggedUserProfileVisibilityModeConstants.URL_PARAM_PROFILE_VISIBILITY_MODE, null); if (StringUtils.equals(visibilityMode, LoggedUserProfileVisibilityModeConstants.PROFILE_VISIBILITY_MODE_OTHERS)) { applyAdditionalParam(searchRequest, "visibilityCondition", ConditionUtils.resourcePrivacyCondition(null)); } else { // valid if watching resources of other user applyAdditionalParam(searchRequest, "visibilityCondition", ConditionUtils.resourcePrivacyCondition(userProfile)); } Map<String, FacetParameters> facets = Collections.singletonMap(PublicationIndexFieldConstants.FIELD_USER_UID_ROLES, new FacetParameters().setMinCount(1) .setPrefix(userId + IndexFieldConstants.VALUE_SEP).setSort(FacetSort.INDEX)); searchRequest.setOverriddenFacetParameters(facets); }
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; }