Refine search
@Test(expectedExceptions = SearchException.class, expectedExceptionsMessageRegExp = ".*cannot be converted to an indexed query") public void testPreventHybridQuery() { CacheQuery<Person> hybridQuery = Search.getSearchManager(cacheAMachine1) .getQuery(String.format("FROM %s p where p.nonIndexedField = 'nothing'", Person.class.getName()), IndexedQueryMode.BROADCAST, Person.class); hybridQuery.list(); }
public void testBroadcastProjectionIckleQuery() { SearchManager sm = Search.getSearchManager(cacheAMachine2); CacheQuery<Object[]> onlyNames = sm.getQuery( String.format("Select p.name FROM %s p", Person.class.getName()), IndexedQueryMode.BROADCAST, Person.class ); List<Object[]> results = onlyNames.list(); assertEquals(NUM_ENTRIES, results.size()); Set<String> names = new HashSet<>(); results.iterator().forEachRemaining(s -> names.add((String) s[0])); Set<String> allNames = IntStream.range(0, NUM_ENTRIES).boxed().map(i -> "name" + i).collect(Collectors.toSet()); assertEquals(allNames, names); StaticTestingErrorHandler.assertAllGood(cacheAMachine1, cacheAMachine2); }
@Override protected void verifyFindsCar(Cache cache, int expectedCount, String carMake) { SearchManager searchManager = Search.getSearchManager(cache); CacheQuery<?> cacheQuery = searchManager.getQuery(new TermQuery(new Term("make", carMake)), IndexedQueryMode.BROADCAST); assertEquals(expectedCount, cacheQuery.getResultSize()); } }
private int countIndexedDocuments(Class<?> clazz) { CacheQuery<?> query = Search.getSearchManager(cache).getQuery(new MatchAllDocsQuery(), clazz); return query.list().size(); }
public void testFullTextFilterOnOff() throws Exception { prepareTestData(); queryParser = createQueryParser("blurb"); Query luceneQuery = queryParser.parse("eats"); CacheQuery<Person> query = Search.getSearchManager(cache1).getQuery(luceneQuery); FullTextFilter filter = query.enableFullTextFilter("personFilter"); filter.setParameter("blurbText", "cheese"); assertEquals(1, query.getResultSize()); List<Person> result = query.list(); Person person = result.get(0); assertEquals("MiniGoat", person.getName()); assertEquals("Eats cheese", person.getBlurb()); //Disabling the fullTextFilter. query.disableFullTextFilter("personFilter"); assertEquals(2, query.getResultSize()); StaticTestingErrorHandler.assertAllGood(cache1, cache2); }
public void testBroadcastIckleMatchAllQuery() { CacheQuery<Person> everybody = Search.getSearchManager(cacheAMachine1) .getQuery(String.format("FROM %s", Person.class.getName()), IndexedQueryMode.BROADCAST, Person.class); assertEquals(NUM_ENTRIES, everybody.list().size()); StaticTestingErrorHandler.assertAllGood(cacheAMachine1, cacheAMachine2); }
private List searchByName(String name, Cache c) { SearchManager sm = Search.getSearchManager(c); CacheQuery<?> q = sm.getQuery(SEntity.searchByName(name), SEntity.class); int resultSize = q.getResultSize(); List<?> l = q.list(); assert l.size() == resultSize; return q.list(); }
protected void verifyFindsCar(Cache cache, int expectedCount, String carMake) { CacheQuery<?> cacheQuery = Search.getSearchManager(cache) .getQuery(new TermQuery(new Term("make", carMake)), IndexedQueryMode.BROADCAST); assertEquals(expectedCount, cacheQuery.getResultSize()); }
public void testFullTextFilterOnOff() throws ParseException { loadTestingData(); queryParser = createQueryParser("blurb"); Query luceneQuery = queryParser.parse("Eats"); CacheQuery<Person> query = Search.getSearchManager(cache).getQuery(luceneQuery); FullTextFilter filter = query.enableFullTextFilter("personFilter"); filter.setParameter("blurbText", "cheese"); assertEquals(1, query.getResultSize()); List<Person> result = query.list(); Person person = result.get(0); assertEquals("Mini Goat", person.getName()); assertEquals("Eats cheese", person.getBlurb()); //Disabling the fullTextFilter. query.disableFullTextFilter("personFilter"); assertEquals(3, query.getResultSize()); StaticTestingErrorHandler.assertAllGood(cache); }
@Test(expectedExceptions = SearchException.class, expectedExceptionsMessageRegExp = ".*cannot be converted to an indexed query") public void testPreventAggregationQueries() { CacheQuery<Person> aggregationQuery = Search.getSearchManager(cacheAMachine1) .getQuery(String.format("FROM %s p where p.name:'name3' group by p.name", Person.class.getName()), IndexedQueryMode.BROADCAST, Person.class); aggregationQuery.list(); }
public void testBroadcastFuzzyIckle() { CacheQuery<Person> persons0to10 = Search.getSearchManager(cacheAMachine1) .getQuery(String.format("FROM %s p where p.name:'nome'~2", Person.class.getName()), IndexedQueryMode.BROADCAST, Person.class); assertEquals(10, persons0to10.list().size()); StaticTestingErrorHandler.assertAllGood(cacheAMachine1, cacheAMachine2); }
private void assertAllIndexed(final Cache cache) { eventually(() -> { int size = Search.getSearchManager(cache).getQuery(new MatchAllDocsQuery(), Transaction.class).list().size(); return size == NUM_ENTRIES; }); }
protected void checkIndex(int expectedNumber, Class<?> entity) { Cache<Integer, Transaction> c = caches.get(0); SearchManager searchManager = Search.getSearchManager(c); CacheQuery<?> q = searchManager.getQuery(new MatchAllDocsQuery(), entity); int resultSize = q.getResultSize(); assertEquals(expectedNumber, resultSize); }
public void testCombinationOfFilters() throws Exception { prepareTestData(); person4 = new Person(); person4.setName("ExtraGoat"); person4.setBlurb("Eats grass and is retired"); person4.setAge(70); cache1.put("ExtraGoat", person4); queryParser = createQueryParser("blurb"); Query luceneQuery = queryParser.parse("eats"); CacheQuery<Person> query = Search.getSearchManager(cache1).getQuery(luceneQuery); FullTextFilter filter = query.enableFullTextFilter("personFilter"); filter.setParameter("blurbText", "grass"); assertEquals(2, query.getResultSize()); FullTextFilter ageFilter = query.enableFullTextFilter("personAgeFilter"); ageFilter.setParameter("age", 70); assertEquals(1, query.getResultSize()); List<Person> result = query.list(); Person person = result.get(0); assertEquals("ExtraGoat", person.getName()); assertEquals(70, person.getAge()); //Disabling the fullTextFilter. query.disableFullTextFilter("personFilter"); query.disableFullTextFilter("personAgeFilter"); assertEquals(3, query.getResultSize()); StaticTestingErrorHandler.assertAllGood(cache1, cache2); }
@Override void warmup() { for (int i = 0; i < WARMUP_ITERATIONS; i++) { CacheQuery query = Search.getSearchManager(cache).getQuery(new MatchAllDocsQuery(), Entity.class); query.list(); } }
public void testBroadcastNumericRangeQuery() { CacheQuery<Person> infants = Search.getSearchManager(cacheAMachine1) .getQuery(String.format("FROM %s p where p.age between 0 and 5", Person.class.getName()), IndexedQueryMode.BROADCAST, Person.class); assertEquals(6, infants.list().size()); StaticTestingErrorHandler.assertAllGood(cacheAMachine1, cacheAMachine2); }
public void testTypeFiltering() throws ParseException { loadTestingData(); queryParser = createQueryParser("blurb"); Query luceneQuery = queryParser.parse("grass"); CacheQuery<?> cacheQuery = Search.getSearchManager(cache).getQuery(luceneQuery); List<?> found = cacheQuery.list(); assert found.size() == 2; assert found.containsAll(asList(person2, anotherGrassEater)); queryParser = createQueryParser("blurb"); luceneQuery = queryParser.parse("grass"); cacheQuery = Search.getSearchManager(cache).getQuery(luceneQuery, AnotherGrassEater.class); found = cacheQuery.list(); assert found.size() == 1; assert found.get(0).equals(anotherGrassEater); StaticTestingErrorHandler.assertAllGood(cache); }
private void checkIndex(int expectedCount, Query luceneQuery, Class<?> entity) throws ParseException { for (Cache cache : caches) { StaticTestingErrorHandler.assertAllGood(cache); SearchManager searchManager = Search.getSearchManager(cache); CacheQuery<?> cacheQuery = searchManager.getQuery(luceneQuery, entity); assertEquals(expectedCount, cacheQuery.getResultSize()); } } }
@Override void executeTask() { long now = System.nanoTime(); long timeLimit = now + durationNanos; Query luceneQuery = createLuceneQuery(); CacheQuery q = Search.getSearchManager(cache).getQuery(luceneQuery, Entity.class); while (timeLimit - System.nanoTime() > 0L) { long start = System.nanoTime(); q.list(); latencyStats.recordLatency(System.nanoTime() - start); LockSupport.parkNanos(waitIntervalNanos); } } }
public void testBroadcastIckleTermQuery() { String targetName = "name2"; CacheQuery<Person> singlePerson = Search.getSearchManager(cacheAMachine1) .getQuery(String.format("FROM %s p where p.name:'%s'", Person.class.getName(), targetName), IndexedQueryMode.BROADCAST, Person.class); assertEquals(1, singlePerson.list().size()); assertEquals(targetName, singlePerson.list().iterator().next().getName()); StaticTestingErrorHandler.assertAllGood(cacheAMachine1, cacheAMachine2); }