public List<String> searchTags(IssueQuery query, @Nullable String textQuery, int size) { Terms terms = listTermsMatching(FIELD_ISSUE_TAGS, query, textQuery, Terms.Order.term(true), size); return EsUtils.termsKeys(terms); }
public List<String> searchAuthors(IssueQuery query, @Nullable String textQuery, int maxNumberOfAuthors) { Terms terms = listTermsMatching(FIELD_ISSUE_AUTHOR_LOGIN, query, textQuery, Terms.Order.term(true), maxNumberOfAuthors); return EsUtils.termsKeys(terms); }
return EsUtils.termsKeys(esResponse.getAggregations().get(AGGREGATION_NAME_FOR_TAGS));
public List<String> terms(String fields, @Nullable String query, int size) { TermsAggregationBuilder termsAggregation = AggregationBuilders.terms(AGGREGATION_NAME) .field(fields) .size(size) .minDocCount(1); if (query != null) { termsAggregation.includeExclude(new IncludeExclude(".*" + escapeSpecialRegexChars(query) + ".*", null)); } SearchRequestBuilder request = client .prepareSearch(INDEX_TYPE_RULE, INDEX_TYPE_ACTIVE_RULE) .setQuery(matchAllQuery()) .setSize(0) .addAggregation(termsAggregation); SearchResponse esResponse = request.get(); return EsUtils.termsKeys(esResponse.getAggregations().get(AGGREGATION_NAME)); }
public List<String> listAuthors(IssueQuery query, @Nullable String textQuery, int maxNumberOfAuthors) { Terms terms = listTermsMatching(IssueIndexDefinition.FIELD_ISSUE_AUTHOR_LOGIN, query, textQuery, Terms.Order.term(true), maxNumberOfAuthors); return EsUtils.termsKeys(terms); }
return EsUtils.termsKeys(esResponse.getAggregations().get(AGGREGATION_NAME_FOR_TAGS));
public List<String> listTags(@Nullable OrganizationDto organization, @Nullable String textQuery, int size) { int maxPageSize = 500; checkArgument(size <= maxPageSize, "Page size must be lower than or equals to " + maxPageSize); if (size <= 0) { return emptyList(); } BoolQueryBuilder esQuery = boolQuery() .filter(createAuthorizationFilter(true)); if (organization != null) { esQuery.filter(termQuery(FIELD_ISSUE_ORGANIZATION_UUID, organization.getUuid())); } SearchRequestBuilder requestBuilder = client .prepareSearch(INDEX_TYPE_ISSUE) .setQuery(esQuery) .setSize(0); TermsAggregationBuilder termsAggregation = AggregationBuilders.terms(AGGREGATION_NAME_FOR_TAGS) .field(IssueIndexDefinition.FIELD_ISSUE_TAGS) .size(size) .order(Terms.Order.term(true)) .minDocCount(1L); if (textQuery != null) { String escapedTextQuery = escapeSpecialRegexChars(textQuery); termsAggregation.includeExclude(new IncludeExclude(format(SUBSTRING_MATCH_REGEXP, escapedTextQuery), null)); } requestBuilder.addAggregation(termsAggregation); SearchResponse searchResponse = requestBuilder.get(); Terms issuesResult = searchResponse.getAggregations().get(AGGREGATION_NAME_FOR_TAGS); return EsUtils.termsKeys(issuesResult); }
public List<String> terms(String fields, @Nullable String query, int size) { TermsAggregationBuilder termsAggregation = AggregationBuilders.terms(AGGREGATION_NAME) .field(fields) .size(size) .minDocCount(1); if (query != null) { termsAggregation.includeExclude(new IncludeExclude(".*" + escapeSpecialRegexChars(query) + ".*", null)); } SearchRequestBuilder request = client .prepareSearch(INDEX_TYPE_RULE, INDEX_TYPE_ACTIVE_RULE) .setQuery(matchAllQuery()) .setSize(0) .addAggregation(termsAggregation); SearchResponse esResponse = request.get(); return EsUtils.termsKeys(esResponse.getAggregations().get(AGGREGATION_NAME)); }