final FilterBuilder notFilter = FilterBuilders.boolFilter().mustNot( notFilterBuilder ) ; final FilterBuilder selectAllFilter = FilterBuilders.boolFilter().must( FilterBuilders.matchAllFilter()) .must( notFilter ); filterBuilders.push( selectAllFilter );
/** * Generate the field name term for the field name for filters */ private NestedFilterBuilder fieldNameTerm( final String fieldName, final FilterBuilder fieldValueBuilder ) { final BoolFilterBuilder booleanQuery = FilterBuilders.boolFilter(); booleanQuery.must( FilterBuilders.termFilter( IndexingUtils.FIELD_NAME_NESTED, fieldName ) ); booleanQuery.must( fieldValueBuilder ); return FilterBuilders.nestedFilter( IndexingUtils.ENTITY_FIELDS, booleanQuery ); }
final BoolFilterBuilder fb = FilterBuilders.boolFilter().should( leftFilter ).should( rightFilter ); filterBuilders.push( fb );
final BoolFilterBuilder fb = FilterBuilders.boolFilter().must(leftFilter).must(rightFilter); filterBuilders.push( fb );
BoolFilterBuilder boolQueryFilter = FilterBuilders.boolFilter();
public static BoolFilterBuilder createFilterBuilder(List<HasContainer> hasContainers) { BoolFilterBuilder boolFilter = FilterBuilders.boolFilter(); if(hasContainers != null) hasContainers.forEach(has -> addFilter(boolFilter, has)); return boolFilter; }
@Override public <P extends ParaObject> List<P> findTagged(String appid, String type, String[] tags, Pager... pager) { if (tags == null || tags.length == 0 || StringUtils.isBlank(appid)) { return Collections.emptyList(); } BoolFilterBuilder tagFilter = FilterBuilders.boolFilter(); //assuming clean & safe tags here for (String tag : tags) { tagFilter.must(FilterBuilders.termFilter(Config._TAGS, tag)); } QueryBuilder qb = QueryBuilders.filteredQuery(QueryBuilders.matchAllQuery(), tagFilter); // The filter looks like this: ("tag1" OR "tag2" OR "tag3") AND "type" return searchQuery(appid, type, qb, pager); }
@Override public void buildSearchForIndexedDocumentsNotUpdatedAfter(SearchRequestBuilder srb, String jiraProjectKey, Date date) { FilterBuilder filterTime = FilterBuilders.rangeFilter("_timestamp").lt(date); FilterBuilder filterProject = FilterBuilders.termFilter(indexFieldForProjectKey, jiraProjectKey); FilterBuilder filterSource = FilterBuilders.termFilter(indexFieldForRiverName, riverName); FilterBuilder filter = FilterBuilders.boolFilter().must(filterTime).must(filterProject).must(filterSource); srb.setQuery(QueryBuilders.matchAllQuery()).addField("_id").setPostFilter(filter); Set<String> st = new LinkedHashSet<String>(); st.add(issueTypeName); if (commentIndexingMode.isExtraDocumentIndexed()) st.add(commentTypeName); if (changelogIndexingMode.isExtraDocumentIndexed()) st.add(changelogTypeName); srb.setTypes(st.toArray(new String[st.size()])); }
/** * Add a filter that check for authorizations on resources * Takes also in account the ALL_USER group */ public static FilterBuilder getResourceAuthorizationFilters() { final Authentication auth = SecurityContextHolder.getContext().getAuthentication(); if (auth.getAuthorities().contains(new SimpleGrantedAuthority(Role.ADMIN.toString()))) { return null; } FilterBuilder filterBuilder; User user = (User) auth.getPrincipal(); if (user.getGroups() != null && !user.getGroups().isEmpty()) { filterBuilder = FilterBuilders.boolFilter() .should(FilterBuilders.nestedFilter("userRoles", FilterBuilders.termFilter("userRoles.key", auth.getName()))) .should(FilterBuilders.nestedFilter("groupRoles", FilterBuilders.inFilter("groupRoles.key", user.getGroups().toArray()))); } else { filterBuilder = FilterBuilders.nestedFilter("userRoles", FilterBuilders.termFilter("userRoles.key", auth.getName())); } Group group = getAllUsersGroup(); if (group != null) { String groupId = group.getId(); // add ALL_USERS group as OR filter filterBuilder = FilterBuilders.orFilter(filterBuilder, FilterBuilders.nestedFilter("groupRoles", FilterBuilders.inFilter("groupRoles.key", groupId))); } return filterBuilder; }
BoolFilterBuilder elementIsNotHiddenQuery = FilterBuilders.boolFilter(); for (String hiddenVertexPropertyName : hiddenVertexPropertyNames) { elementIsNotHiddenQuery.mustNot(FilterBuilders.existsFilter(hiddenVertexPropertyName));
BoolFilterBuilder boundaryFilter = FilterBuilders.boolFilter();