private InternalLuceneService getMockLuceneService(String resultKey, String resultValue, String resultScore) throws LuceneQueryException { InternalLuceneService service = mock(InternalLuceneService.class); LuceneQueryFactory mockQueryFactory = spy(LuceneQueryFactory.class); LuceneQuery mockQuery = mock(LuceneQuery.class); PageableLuceneQueryResults pageableLuceneQueryResults = mock(PageableLuceneQueryResults.class); LuceneResultStruct<String, String> resultStruct = new LuceneResultStructImpl(resultKey, resultValue, Float.valueOf(resultScore)); List<LuceneResultStruct<String, String>> queryResults = new ArrayList<>(); queryResults.add(resultStruct); doReturn(mock(LuceneIndex.class)).when(service).getIndex(anyString(), anyString()); doReturn(mockQueryFactory).when(service).createLuceneQueryFactory(); doReturn(mockQueryFactory).when(mockQueryFactory).setLimit(anyInt()); doReturn(mockQuery).when(mockQueryFactory).create(any(), any(), any(), any()); when(mockQuery.findPages()).thenReturn(pageableLuceneQueryResults); when(pageableLuceneQueryResults.hasNext()).thenReturn(true).thenReturn(false); when(pageableLuceneQueryResults.next()).thenReturn(queryResults); return service; }
private static void query(ClientCache cache) throws LuceneQueryException { LuceneService lucene = LuceneServiceProvider.get(cache); LuceneQuery<Integer, EmployeeData> query = lucene.createLuceneQueryFactory() .create(SIMPLE_INDEX, EXAMPLE_REGION, "firstName:Chris~2", "firstname"); System.out.println("Employees with first names like Chris: " + query.findValues()); }
public static LuceneQueryFactory mockLuceneQueryFactory() { LuceneQueryFactory mockLuceneQueryFactory = mock(LuceneQueryFactory.class); AtomicInteger limit = new AtomicInteger(LuceneQueryFactory.DEFAULT_LIMIT); AtomicInteger pageSize = new AtomicInteger(LuceneQueryFactory.DEFAULT_PAGESIZE); when(mockLuceneQueryFactory.setLimit(anyInt())).thenAnswer(invocation -> { limit.set(invocation.getArgument(0)); return mockLuceneQueryFactory; }); when(mockLuceneQueryFactory.setPageSize(anyInt())).thenAnswer(invocation -> { pageSize.set(invocation.getArgument(0)); return mockLuceneQueryFactory; }); when(mockLuceneQueryFactory.create(anyString(), anyString(), any(LuceneQueryProvider.class))) .thenAnswer(invocation -> mockLuceneQuery(limit.get(), pageSize.get())); when(mockLuceneQueryFactory.create(anyString(), anyString(), anyString(), anyString())) .thenAnswer(invocation -> mockLuceneQuery(limit.get(), pageSize.get())); return mockLuceneQueryFactory; }
/** * Creates an instance of the {@link LuceneQueryFactory} to create and execute {@link LuceneQuery Lucene queries}. * * @param resultLimit limit to the number of results returned by the query. * @param pageSize number of results appearing on a single page. * @return an instance of the {@link LuceneQueryFactory} to create and execute {@link LuceneQuery Lucene queries}. * @see #createLuceneQueryFactory() */ public LuceneQueryFactory createLuceneQueryFactory(int resultLimit, int pageSize) { return createLuceneQueryFactory().setLimit(resultLimit).setPageSize(pageSize); }
private static void queryNestedObject(ClientCache cache) throws LuceneQueryException { LuceneService lucene = LuceneServiceProvider.get(cache); LuceneQuery<Integer, EmployeeData> query = lucene.createLuceneQueryFactory().create( NESTEDOBJECT_INDEX, EXAMPLE_REGION, "5035330001 AND 5036430001", "contacts.phoneNumbers"); System.out.println("Employees with phone number 5035330001 and 5036430001 in their contacts: " + query.findValues()); }
/** * Creates an instance of the {@link LuceneQueryFactory} to create and execute {@link LuceneQuery Lucene queries}. * * @param resultLimit limit to the number of results returned by the query. * @param pageSize number of results appearing on a single page. * @return an instance of the {@link LuceneQueryFactory} to create and execute {@link LuceneQuery Lucene queries}. * @see #createLuceneQueryFactory() */ public LuceneQueryFactory createLuceneQueryFactory(int resultLimit, int pageSize) { return createLuceneQueryFactory().setLimit(resultLimit).setPageSize(pageSize); }
public static void findNearbyTrainStops(LuceneService luceneService) throws InterruptedException, LuceneQueryException { LuceneQuery<Integer, TrainStop> query = luceneService.createLuceneQueryFactory().create("simpleIndex", "example-region", index -> SpatialHelper.findWithin(-122.8515139, 45.5099231, 0.25)); Collection<TrainStop> results = query.findValues(); System.out.println("Found stops: " + results); }
/** * @inheritDoc */ @Override public <V> Collection<V> queryForValues(LuceneQueryProvider queryProvider, int resultLimit) { String indexName = resolveIndexName(); String regionPath = resolveRegionPath(); LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit); LuceneQuery<?, V> queryWrapper = queryFactory.create(indexName, regionPath, queryProvider); return doFind(queryWrapper::findValues, queryProvider, regionPath, indexName); } }
/** * @inheritDoc */ @Override public <K, V> List<LuceneResultStruct<K, V>> query(LuceneQueryProvider queryProvider, int resultLimit) { String indexName = resolveIndexName(); String regionPath = resolveRegionPath(); LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit); LuceneQuery<K, V> queryWrapper = queryFactory.create(indexName, regionPath, queryProvider); return doFind(queryWrapper::findResults, queryProvider, regionPath, indexName); }
/** * @inheritDoc */ @Override public <K> Collection<K> queryForKeys(LuceneQueryProvider queryProvider, int resultLimit) { String indexName = resolveIndexName(); String regionPath = resolveRegionPath(); LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit); LuceneQuery<K, ?> queryWrapper = queryFactory.create(indexName, regionPath, queryProvider); return doFind(queryWrapper::findKeys, queryProvider, regionPath, indexName); }
/** * @inheritDoc */ @Override public <K, V> PageableLuceneQueryResults<K, V> query(String query, String defaultField, int resultLimit, int pageSize) { String indexName = resolveIndexName(); String regionPath = resolveRegionPath(); LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit, pageSize); LuceneQuery<K, V> queryWrapper = queryFactory.create(indexName, regionPath, query, defaultField); return doFind(queryWrapper::findPages, query, regionPath, indexName); }
/** * @inheritDoc */ @Override public <K> Collection<K> queryForKeys(LuceneQueryProvider queryProvider, int resultLimit) { String indexName = resolveIndexName(); String regionPath = resolveRegionPath(); LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit); LuceneQuery<K, ?> queryWrapper = queryFactory.create(indexName, regionPath, queryProvider); return doFind(queryWrapper::findKeys, queryProvider, regionPath, indexName); }
/** * @inheritDoc */ @Override public <K> Collection<K> queryForKeys(String query, String defaultField, int resultLimit) { String indexName = resolveIndexName(); String regionPath = resolveRegionPath(); LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit); LuceneQuery<K, ?> queryWrapper = queryFactory.create(indexName, regionPath, query, defaultField); return doFind(queryWrapper::findKeys, query, regionPath, indexName); }
/** * @inheritDoc */ @Override public <K, V> PageableLuceneQueryResults<K, V> query(String query, String defaultField, int resultLimit, int pageSize) { String indexName = resolveIndexName(); String regionPath = resolveRegionPath(); LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit, pageSize); LuceneQuery<K, V> queryWrapper = queryFactory.create(indexName, regionPath, query, defaultField); return doFind(queryWrapper::findPages, query, regionPath, indexName); }
/** * @inheritDoc */ @Override public <K, V> PageableLuceneQueryResults<K, V> query(LuceneQueryProvider queryProvider, int resultLimit, int pageSize) { String indexName = resolveIndexName(); String regionPath = resolveRegionPath(); LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit, pageSize); LuceneQuery<K, V> queryWrapper = queryFactory.create(indexName, regionPath, queryProvider); return doFind(queryWrapper::findPages, queryProvider, regionPath, indexName); }
/** * @inheritDoc */ @Override public <K, V> List<LuceneResultStruct<K, V>> query(String query, String defaultField, int resultLimit) { String indexName = resolveIndexName(); String regionPath = resolveRegionPath(); LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit); LuceneQuery<K, V> queryWrapper = queryFactory.create(indexName, regionPath, query, defaultField); return doFind(queryWrapper::findResults, query, regionPath, indexName); }
/** * @inheritDoc */ @Override public <K, V> List<LuceneResultStruct<K, V>> query(String query, String defaultField, int resultLimit) { String indexName = resolveIndexName(); String regionPath = resolveRegionPath(); LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit); LuceneQuery<K, V> queryWrapper = queryFactory.create(indexName, regionPath, query, defaultField); return doFind(queryWrapper::findResults, query, regionPath, indexName); }
/** * @inheritDoc */ @Override public <V> Collection<V> queryForValues(String query, String defaultField, int resultLimit) { String indexName = resolveIndexName(); String regionPath = resolveRegionPath(); LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit); LuceneQuery<?, V> queryWrapper = queryFactory.create(indexName, regionPath, query, defaultField); return doFind(queryWrapper::findValues, query, regionPath, indexName); }
/** * @inheritDoc */ @Override public <V> Collection<V> queryForValues(LuceneQueryProvider queryProvider, int resultLimit) { String indexName = resolveIndexName(); String regionPath = resolveRegionPath(); LuceneQueryFactory queryFactory = createLuceneQueryFactory(resultLimit); LuceneQuery<?, V> queryWrapper = queryFactory.create(indexName, regionPath, queryProvider); return doFind(queryWrapper::findValues, queryProvider, regionPath, indexName); } }