.get().range().onField("age").from(20).excludeLimit().to(30).createQuery();
public void testQueryingRange() throws ParseException { loadTestingData(); Query query = Search.getSearchManager(cache).buildQueryBuilderForClass(Person.class) .get().range().onField("age").from(20).excludeLimit().to(30).excludeLimit().createQuery(); CacheQuery<?> cacheQuery = Search.getSearchManager(cache).getQuery(query); List<?> found = cacheQuery.list(); assertEquals(1, found.size()); assert found.contains(person3); assert !found.contains(person4) : "This should not contain object person4"; person4 = new Person(); person4.setName("Mighty Goat"); person4.setBlurb("Mighty Goat also eats grass"); person4.setAge(28); cache.put("mighty", person4); cacheQuery = Search.getSearchManager(cache).getQuery(query); found = cacheQuery.list(); assert found.size() == 2 : "Size of list should be 3"; assert found.contains(person3); assert found.contains(person4) : "This should now contain object person4"; }
.range().onField("dateOfGraduation").from(formatDate("May 5, 2002")).excludeLimit().to(formatDate("June 30, 2012")) .createQuery();
@Test public void numericRangeQueryOnCustomField() { storeData( "title-one", "1" ); storeData( "title-two", "2" ); storeData( "title-three", "3" ); QueryBuilder queryBuilder = helper.queryBuilder( CustomBridgedNumbers.class ); Query query = queryBuilder .range() .onField( "customField" ) .from( 1 ).excludeLimit() .to( 3 ).excludeLimit() .createQuery(); helper.assertThat( query ) .from( CustomBridgedNumbers.class ) .projecting( "title" ) .matchesExactlySingleProjections( "title-two" ); }
@Test public void verifyExplicitRangeQuery() { Query query = getQueryBuilder() .range() .onField( "age" ) .from( 1 ).excludeLimit() .to( 3 ).excludeLimit() .createQuery(); Assert.assertTrue( query instanceof NumericRangeQuery ); assertProjection( query, "title" ).matchesExactlySingleProjections( "title-two" ); }