loadTestingData();
Query query = Search.getSearchManager(cache).buildQueryBuilderForClass(Person.class).get().phrase().withSlop(3)
.onField("blurb").sentence("Eats grass").createQuery();
CacheQuery cacheQuery = Search.getSearchManager(cache).getQuery(query);
List<Object> found = cacheQuery.list();
Assert.assertEquals(1, found.size());
assert found.contains(person2);
person4 = new Person();
person4.setName("other goat");
person4.setBlurb("Eats green grass.");
cache.put("otherKey", person4);
found = cacheQuery.list();
Assert.assertEquals(2, found.size());
assert found.contains(person2);
assert found.contains(person4);
person4.setBlurb("Eats green tasty grass.");
cache.put("otherKey", person4);
found = cacheQuery.list();
Assert.assertEquals(2, found.size());
assert found.contains(person2);
assert found.contains(person4);
person4.setBlurb("Eats green, tasty, juicy grass.");
cache.put("otherKey", person4);
found = cacheQuery.list();
Assert.assertEquals(2, found.size());
assert found.contains(person2);
assert found.contains(person4);
person4.setBlurb("Eats green, tasty, juicy, fresh grass.");
cache.put("otherKey", person4);
found = cacheQuery.list();
Assert.assertEquals(1, found.size());
assert found.contains(person2);
}