private QueryBuilder buildSearchQuery() { BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder(); for (ElasticsearchColumnHandle column : columns) { BoolQueryBuilder columnQueryBuilder = new BoolQueryBuilder(); Type type = column.getColumnType(); if (tupleDomain.getDomains().isPresent()) { Domain domain = tupleDomain.getDomains().get().get(column); if (domain != null) { columnQueryBuilder.should(buildPredicate(column.getColumnJsonPath(), domain, type)); } } boolQueryBuilder.must(columnQueryBuilder); } if (boolQueryBuilder.hasClauses()) { return boolQueryBuilder; } return new MatchAllQueryBuilder(); }
private OptionalLong getMinCreatedAt(Map<String, QueryBuilder> filters, QueryBuilder esQuery) { String facetNameAndField = CREATED_AT.getFieldName(); SearchRequestBuilder esRequest = client .prepareSearch(INDEX_TYPE_ISSUE) .setSize(0); BoolQueryBuilder esFilter = boolQuery(); filters.values().stream().filter(Objects::nonNull).forEach(esFilter::must); if (esFilter.hasClauses()) { esRequest.setQuery(QueryBuilders.boolQuery().must(esQuery).filter(esFilter)); } else { esRequest.setQuery(esQuery); } esRequest.addAggregation(AggregationBuilders.min(facetNameAndField).field(facetNameAndField)); Min minValue = esRequest.get().getAggregations().get(facetNameAndField); double actualValue = minValue.getValue(); if (Double.isInfinite(actualValue)) { return OptionalLong.empty(); } return OptionalLong.of((long)actualValue); }
private static QueryBuilder buildActivationFilter(RuleQuery query, QProfileDto profile) { // ActiveRule Filter (profile and inheritance) BoolQueryBuilder activeRuleFilter = boolQuery(); addTermFilter(activeRuleFilter, FIELD_ACTIVE_RULE_PROFILE_UUID, profile.getRulesProfileUuid()); addTermFilter(activeRuleFilter, FIELD_ACTIVE_RULE_INHERITANCE, query.getInheritance()); addTermFilter(activeRuleFilter, FIELD_ACTIVE_RULE_SEVERITY, query.getActiveSeverities()); // ChildQuery QueryBuilder childQuery; if (activeRuleFilter.hasClauses()) { childQuery = activeRuleFilter; } else { childQuery = matchAllQuery(); } return childQuery; }
public SearchResponse search(IssueQuery query, SearchOptions options) { SearchRequestBuilder requestBuilder = client.prepareSearch(INDEX_TYPE_ISSUE); configureSorting(query, requestBuilder); configurePagination(options, requestBuilder); configureRouting(query, options, requestBuilder); QueryBuilder esQuery = matchAllQuery(); BoolQueryBuilder esFilter = boolQuery(); Map<String, QueryBuilder> filters = createFilters(query); for (QueryBuilder filter : filters.values()) { if (filter != null) { esFilter.must(filter); } } if (esFilter.hasClauses()) { requestBuilder.setQuery(boolQuery().must(esQuery).filter(esFilter)); } else { requestBuilder.setQuery(esQuery); } configureStickyFacets(query, options, filters, esQuery, requestBuilder); requestBuilder.addAggregation(EFFORT_AGGREGATION); requestBuilder.setFetchSource(false); return requestBuilder.get(); }
@SuppressWarnings("unchecked") private <T> QueryBuilder combine( Collection<T> items, BiFunction<BoolQueryBuilder, QueryBuilder, BoolQueryBuilder> operator, Function<T, QueryBuilder> itemFunction) { BoolQueryBuilder builder = QueryBuilders.boolQuery(); for (T item : items) { if (!Query.MISSING_VALUE.equals(item)) { builder = operator.apply(builder, itemFunction.apply(item)); } } return builder.hasClauses() ? builder : QueryBuilders.matchAllQuery(); }
if (boolQueryBuilder.hasClauses()) { return Optional.of(boolQueryBuilder);
@Override public QueryBuilder createQuery() { BoolQueryBuilder result = QueryBuilders.boolQuery(); for (Constraint constraint : constraints) { QueryBuilder qb = constraint.createQuery(); if (qb != null) { result.should(qb); } } if (!result.hasClauses()) { return null; } return result; }
@Override public QueryBuilder createQuery() { BoolQueryBuilder result = QueryBuilders.boolQuery(); for (Constraint constraint : constraints) { QueryBuilder qb = constraint.createQuery(); if (qb != null) { result.must(qb); } } if (!result.hasClauses()) { return null; } return result; }
protected QueryBuilder getAggregateFilter() { BoolQueryBuilder ret = QueryBuilders.boolQuery(); for (AggregateEsBase agg : aggregates) { QueryBuilder filter = agg.getEsFilter(); if (filter != null) { ret.must(filter); } } if (!ret.hasClauses()) { return null; } return ret; }
protected QueryBuilder getAggregateFilterExceptFor(String id) { BoolQueryBuilder ret = QueryBuilders.boolQuery(); for (AggregateEsBase agg : aggregates) { if (!agg.getId().equals(id)) { QueryBuilder filter = agg.getEsFilter(); if (filter != null) { ret.must(filter); } } } if (!ret.hasClauses()) { return QueryBuilders.matchAllQuery(); } return ret; }
private Optional<Long> getMinCreatedAt(Map<String, QueryBuilder> filters, QueryBuilder esQuery) { String facetNameAndField = IssueIndexDefinition.FIELD_ISSUE_FUNC_CREATED_AT; SearchRequestBuilder esRequest = client .prepareSearch(INDEX_TYPE_ISSUE) .setSize(0); BoolQueryBuilder esFilter = boolQuery(); filters.values().stream().filter(Objects::nonNull).forEach(esFilter::must); if (esFilter.hasClauses()) { esRequest.setQuery(QueryBuilders.boolQuery().must(esQuery).filter(esFilter)); } else { esRequest.setQuery(esQuery); } esRequest.addAggregation(AggregationBuilders.min(facetNameAndField).field(facetNameAndField)); Min minValue = esRequest.get().getAggregations().get(facetNameAndField); Double actualValue = minValue.getValue(); if (actualValue.isInfinite()) { return Optional.empty(); } return Optional.of(actualValue.longValue()); }
if (whereCondition != null && whereCondition.hasClauses()) { if (matchCondition != null && matchCondition.hasClauses()) { requestBuilder.setQuery(matchCondition.filter(whereCondition)); if (matchCondition != null && matchCondition.hasClauses()) { requestBuilder.setQuery(matchCondition);
private static QueryBuilder buildActivationFilter(RuleQuery query, QProfileDto profile) { // ActiveRule Filter (profile and inheritance) BoolQueryBuilder activeRuleFilter = boolQuery(); addTermFilter(activeRuleFilter, FIELD_ACTIVE_RULE_PROFILE_UUID, profile.getRulesProfileUuid()); addTermFilter(activeRuleFilter, FIELD_ACTIVE_RULE_INHERITANCE, query.getInheritance()); addTermFilter(activeRuleFilter, FIELD_ACTIVE_RULE_SEVERITY, query.getActiveSeverities()); // ChildQuery QueryBuilder childQuery; if (activeRuleFilter.hasClauses()) { childQuery = activeRuleFilter; } else { childQuery = matchAllQuery(); } return childQuery; }
public SearchResponse search(IssueQuery query, SearchOptions options) { SearchRequestBuilder requestBuilder = client.prepareSearch(INDEX_TYPE_ISSUE); configureSorting(query, requestBuilder); configurePagination(options, requestBuilder); configureRouting(query, options, requestBuilder); QueryBuilder esQuery = matchAllQuery(); BoolQueryBuilder esFilter = boolQuery(); Map<String, QueryBuilder> filters = createFilters(query); for (QueryBuilder filter : filters.values()) { if (filter != null) { esFilter.must(filter); } } if (esFilter.hasClauses()) { requestBuilder.setQuery(boolQuery().must(esQuery).filter(esFilter)); } else { requestBuilder.setQuery(esQuery); } configureStickyFacets(query, options, filters, esQuery, requestBuilder); requestBuilder.setFetchSource(false); return requestBuilder.get(); }
if (bool.hasClauses()) { qb = bool;