final BoolQueryBuilder qb = QueryBuilders.boolQuery().should( leftQuery ).should(rightQuery).minimumNumberShouldMatch( 1); queryBuilders.push( qb );
disjunction.should(QueryBuilders.constantScoreQuery(QueryBuilders.termQuery("screen_name", text_positive_match.get(0)))); disjunction.should(QueryBuilders.constantScoreQuery(QueryBuilders.matchQuery("text", text_positive_match.get(0)))); disjunction.minimumNumberShouldMatch(1); ops.add(disjunction); } else { disjunction.should(QueryBuilders.constantScoreQuery(QueryBuilders.termQuery("screen_name", text_negative_match.get(0)))); disjunction.should(QueryBuilders.constantScoreQuery(QueryBuilders.matchQuery("text", text_negative_match.get(0)))); disjunction.minimumNumberShouldMatch(1); ops.add(disjunction); } else { BoolQueryBuilder disjunction = QueryBuilders.boolQuery(); for (String name: screen_names) disjunction.should(QueryBuilders.constantScoreQuery(QueryBuilders.termQuery("screen_name", name))); disjunction.minimumNumberShouldMatch(1); ops.add(disjunction); .should(QueryBuilders.constantScoreQuery(QueryBuilders.matchQuery("place_name", near_name))) .should(QueryBuilders.constantScoreQuery(QueryBuilders.matchQuery("text", near_name))); nearquery.minimumNumberShouldMatch(1); ops.add(QueryBuilders.boolQuery().filter(nearquery).filter(QueryBuilders.constantScoreQuery(QueryBuilders.matchQuery("place_context", PlaceContext.FROM.name())))); } else { if (ORconnective) ((BoolQueryBuilder) bquery).should(qb); else ((BoolQueryBuilder) bquery).filter(qb); if (ORconnective) ((BoolQueryBuilder) bquery).minimumNumberShouldMatch(1); for (QueryBuilder nqb: nops) { ((BoolQueryBuilder) bquery).mustNot(nqb);
suggest.should(QueryBuilders.matchPhrasePrefixQuery(fieldName, q)); if (q.indexOf('*') >= 0 || q.indexOf('?') >= 0) suggest.should(QueryBuilders.wildcardQuery(fieldName, q)); suggest.minimumNumberShouldMatch(1);
private QueryBuilder orFilters(List<QueryBuilder> filters) { if (filters.size() == 1) { return filters.get(0); } else { BoolQueryBuilder boolQuery = QueryBuilders.boolQuery(); for (QueryBuilder filter : filters) { boolQuery.should(filter); } boolQuery.minimumNumberShouldMatch(1); return boolQuery; } }
private QueryBuilder getSingleFilterOrOrTheFilters(List<QueryBuilder> filters, HasContainer has) { if (filters.size() > 1) { BoolQueryBuilder boolQuery = QueryBuilders.boolQuery(); for (QueryBuilder filter : filters) { boolQuery.should(filter); } boolQuery.minimumNumberShouldMatch(1); return boolQuery; } else if (filters.size() == 1) { return filters.get(0); } else { throw new VertexiumException("Unexpected filter count, expected at least 1 filter for: " + has); } }
private QueryBuilder getFilterForHasExtendedData(HasExtendedData has) { BoolQueryBuilder boolQuery = QueryBuilders.boolQuery(); for (HasExtendedDataFilter hasExtendedDataFilter : has.getFilters()) { boolQuery.should(getFilterForHasExtendedDataFilter(hasExtendedDataFilter)); } boolQuery.minimumNumberShouldMatch(1); return boolQuery; }
atLeastOneFieldExistsFilter.should(new ExistsQueryBuilder(field)); atLeastOneFieldExistsFilter.minimumNumberShouldMatch(1); filters.add(atLeastOneFieldExistsFilter);
@Override public Iterator<EsInstanceTags> getRunningAndTerminatedInstanceTags(int terminatedDays) throws Exception { Preconditions.checkArgument(terminatedDays >= 0); DateTime start = getStartSinceDay(terminatedDays); //state eq running or terminated after the start time. QueryBuilder queryBuilder = QueryBuilders.boolQuery() .should(QueryBuilders.termQuery("state", "running")) .should(QueryBuilders.boolQuery() .must(QueryBuilders.termQuery("state", "terminated")) .must(QueryBuilders.rangeQuery("aws_launch_time").gte(start))) .minimumNumberShouldMatch(1); ScrollableResponse<List<EsInstanceTags>> response = this.retrieveScrollByQuery(queryBuilder, EsMapper.getIncludeFields(EsInstanceTags.class, this.getClass()), BATCHSIZE, str -> updateMapper.readValue(str, EsInstanceTags.class)); EsIterator<EsInstanceTags> iterator = new EsIterator<>(response, r -> scrollNext(r.getContinousToken(), str -> updateMapper.readValue(str, EsInstanceTags.class))); return iterator; }
@Override public Iterator<EsAwsStatus> getRunningAndTerminatedAwsStatus(Region region, int days) throws Exception { Preconditions.checkNotNull(region); Preconditions.checkArgument(days > 0); DateTime start = getStartSinceDay(days); //state eq running or terminated after the start time. QueryBuilder queryBuilder = QueryBuilders.boolQuery() .should(QueryBuilders.termQuery("state", "running")) .must(QueryBuilders.termQuery("region", region.getName().toLowerCase())) .should(QueryBuilders.boolQuery() .must(QueryBuilders.termQuery("state", "terminated")) .must(QueryBuilders.termQuery("region", region.getName().toLowerCase())) .must(QueryBuilders.rangeQuery("aws_launch_time").gte(start))) .minimumNumberShouldMatch(1); ScrollableResponse<List<EsAwsStatus>> response = this.retrieveScrollByQuery(queryBuilder, EsMapper.getIncludeFields(EsAwsStatus.class, this.getClass()), BATCHSIZE, str -> updateMapper.readValue(str, EsAwsStatus.class)); EsIterator<EsAwsStatus> iterator = new EsIterator<>(response, r -> scrollNext(r.getContinousToken(), str -> updateMapper.readValue(str, EsAwsStatus.class))); return iterator; }
@Override public Iterator<EsDailySnapshotInstance> getRunningAndRecentTerminatedInstances(int days) throws Exception { Preconditions.checkArgument(days >= 0); DateTime start = getStartSinceDay(days); //state eq running or terminated after the start time. QueryBuilder queryBuilder = QueryBuilders.boolQuery() .should(QueryBuilders.termQuery("state", "running")) .should(QueryBuilders.boolQuery().must(QueryBuilders.termQuery("state", "terminated")) .must(QueryBuilders.rangeQuery("aws_launch_time").gte(start))) .minimumNumberShouldMatch(1); ScrollableResponse<List<EsDailySnapshotInstance>> response = this.retrieveScrollByQuery(queryBuilder, EsMapper.getIncludeFields(EsDailySnapshotInstance.class, this.getClass()), BATCHSIZE, str -> essnapshotinstanceMapper.readValue(str, EsDailySnapshotInstance.class)); EsIterator<EsDailySnapshotInstance> iterator = new EsIterator<>(response, r -> scrollNext(r.getContinousToken(), str -> essnapshotinstanceMapper.readValue(str, EsDailySnapshotInstance.class))); return iterator; }
private QueryBuilder getEdgeFilter() { switch (direction) { case BOTH: QueryBuilder inVertexIdFilter = getDirectionInEdgeFilter(); QueryBuilder outVertexIdFilter = getDirectionOutEdgeFilter(); return QueryBuilders.boolQuery() .should(inVertexIdFilter) .should(outVertexIdFilter) .minimumNumberShouldMatch(1); case OUT: return getDirectionOutEdgeFilter(); case IN: return getDirectionInEdgeFilter(); default: throw new VertexiumException("unexpected direction: " + direction); } }
client.prepareIndex("test", BatchPercolatorService.TYPE_NAME, "1") .setSource(getSource( boolQuery().should(termQuery("field1", "fox")).should(termQuery("field2", "meltwater")).minimumNumberShouldMatch(1), new HighlightBuilder())) .execute().actionGet();
boolQueryBuilder.should(QueryBuilders.termQuery("system_id", id)); boolQueryBuilder.minimumNumberShouldMatch(1);