public void testAllExcept() { loadTestingData(); Query subQuery = Search.getSearchManager(cache).buildQueryBuilderForClass(Person.class).get().keyword() .onField("name").matching("Goat").createQuery(); Query query = Search.getSearchManager(cache).buildQueryBuilderForClass(Person.class).get().all().except().createQuery(); CacheQuery<Person> cacheQuery = Search.getSearchManager(cache).getQuery(query); List<Person> found = cacheQuery.list(); assertEquals(3, found.size()); assert found.contains(person2); assert found.contains(person1); assert found.contains(person3); query = Search.getSearchManager(cache).buildQueryBuilderForClass(Person.class).get().all().except(query).createQuery(); cacheQuery = Search.getSearchManager(cache).getQuery(query); found = cacheQuery.list(); assertEquals(0, found.size()); query = Search.getSearchManager(cache).buildQueryBuilderForClass(Person.class).get().all().except(subQuery).createQuery(); cacheQuery = Search.getSearchManager(cache).getQuery(query); found = cacheQuery.list(); assertEquals(1, found.size()); assert found.contains(person1); }
public void testAllExceptWithoutAnalyzer() { loadNumericTypes(); Query subQuery = Search.getSearchManager(cache).buildQueryBuilderForClass(NumericType.class).get().keyword() .wildcard().onField("name").matching("*string*").createQuery(); Query query = Search.getSearchManager(cache).buildQueryBuilderForClass(NumericType.class).get().all().except().createQuery(); CacheQuery<Person> cacheQuery = Search.getSearchManager(cache).getQuery(query); List<Person> found = cacheQuery.list(); assertEquals(3, found.size()); assert found.contains(type1); assert found.contains(type2); assert found.contains(type3); query = Search.getSearchManager(cache).buildQueryBuilderForClass(NumericType.class).get().all().except(subQuery).createQuery(); cacheQuery = Search.getSearchManager(cache).getQuery(query); found = cacheQuery.list(); assertEquals(0, found.size()); }
.except( monthQb.keyword().onField( "mythology" ).matching( "colder" ).createQuery() ) .createQuery();