Class QueryEngine<TypeMetadata>
- java.lang.Object
-
- org.infinispan.query.core.impl.QueryEngine<TypeMetadata>
-
- org.infinispan.query.dsl.embedded.impl.QueryEngine<TypeMetadata>
-
public class QueryEngine<TypeMetadata> extends org.infinispan.query.core.impl.QueryEngine<TypeMetadata>Adds indexing capability to the light (index-less) QueryEngine from query-core module.- Since:
- 7.2
- Author:
- anistor@redhat.com
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interfaceQueryEngine.RowProcessorA result processor that processes projections (rows).
-
Field Summary
Fields Modifier and Type Field Description protected booleanisIndexedIs the cache indexed?
-
Constructor Summary
Constructors Modifier Constructor Description QueryEngine(org.infinispan.AdvancedCache<?,?> cache, boolean isIndexed)protectedQueryEngine(org.infinispan.AdvancedCache<?,?> cache, boolean isIndexed, Class<? extends org.infinispan.objectfilter.Matcher> matcherImplClass, LuceneQueryMaker.FieldBridgeAndAnalyzerProvider<TypeMetadata> fieldBridgeAndAnalyzerProvider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <E> IndexedQuery<E>buildCacheQuery(String queryString, org.infinispan.query.dsl.IndexedQueryMode indexedQueryMode, KeyTransformationHandler keyTransformationHandler, org.hibernate.search.query.engine.spi.TimeoutExceptionFactory timeoutExceptionFactory, ExecutorService asyncExecutor)<E> IndexedQuery<E>buildCacheQuery(org.apache.lucene.search.Query luceneQuery, KeyTransformationHandler keyTransformationHandler, org.hibernate.search.query.engine.spi.TimeoutExceptionFactory timeoutExceptionFactory, Class<?> entity)<E> IndexedQuery<E>buildCacheQuery(QueryDefinition queryDefinition, org.infinispan.query.dsl.IndexedQueryMode indexedQueryMode, KeyTransformationHandler keyTransformationHandler, ExecutorService asyncExecutor, org.hibernate.search.spi.IndexedTypeMap<org.hibernate.search.spi.CustomTypeMetadata> indexedTypeMap)protected org.infinispan.query.dsl.impl.BaseQuery<?>buildQueryNoAggregations(org.infinispan.query.dsl.QueryFactory queryFactory, String queryString, Map<String,Object> namedParameters, long startOffset, int maxResults, org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parsingResult, org.infinispan.query.dsl.IndexedQueryMode queryMode)protected org.infinispan.query.dsl.impl.BaseQuery<?>buildQueryWithAggregations(org.infinispan.query.dsl.QueryFactory queryFactory, String queryString, Map<String,Object> namedParameters, long startOffset, int maxResults, org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parsingResult, org.infinispan.query.dsl.IndexedQueryMode queryMode)HsQueryRequestcreateHsQuery(String queryString, org.hibernate.search.spi.IndexedTypeMap<org.hibernate.search.spi.CustomTypeMetadata> metadata, Map<String,Object> nameParameters)Class<? extends org.infinispan.objectfilter.Matcher>getMatcherClass()protected org.hibernate.search.spi.SearchIntegratorgetSearchFactory()protected SearchManagerImplementorgetSearchManager()protected Class<?>getTargetedClass(org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<?> parsingResult)protected IndexedQuery<?>makeCacheQuery(org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> ickleParsingResult, org.apache.lucene.search.Query luceneQuery, org.infinispan.query.dsl.IndexedQueryMode queryMode, Map<String,Object> namedParameters)protected QueryEngine.RowProcessormakeProjectionProcessor(Class<?>[] projectedTypes, Object[] projectedNullMarkers)Apply some post-processing to the result when we have projections.protected org.apache.lucene.search.QuerymakeTypeQuery(org.apache.lucene.search.Query query, String targetEntityName)Enhances the give query with an extra condition to discriminate on entity type.org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata>parse(String queryString)
-
-
-
Constructor Detail
-
QueryEngine
public QueryEngine(org.infinispan.AdvancedCache<?,?> cache, boolean isIndexed)
-
QueryEngine
protected QueryEngine(org.infinispan.AdvancedCache<?,?> cache, boolean isIndexed, Class<? extends org.infinispan.objectfilter.Matcher> matcherImplClass, LuceneQueryMaker.FieldBridgeAndAnalyzerProvider<TypeMetadata> fieldBridgeAndAnalyzerProvider)
-
-
Method Detail
-
getSearchManager
protected SearchManagerImplementor getSearchManager()
-
getSearchFactory
protected org.hibernate.search.spi.SearchIntegrator getSearchFactory()
-
getMatcherClass
public Class<? extends org.infinispan.objectfilter.Matcher> getMatcherClass()
-
buildQueryWithAggregations
protected org.infinispan.query.dsl.impl.BaseQuery<?> buildQueryWithAggregations(org.infinispan.query.dsl.QueryFactory queryFactory, String queryString, Map<String,Object> namedParameters, long startOffset, int maxResults, org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parsingResult, org.infinispan.query.dsl.IndexedQueryMode queryMode)- Overrides:
buildQueryWithAggregationsin classorg.infinispan.query.core.impl.QueryEngine<TypeMetadata>
-
buildQueryNoAggregations
protected org.infinispan.query.dsl.impl.BaseQuery<?> buildQueryNoAggregations(org.infinispan.query.dsl.QueryFactory queryFactory, String queryString, Map<String,Object> namedParameters, long startOffset, int maxResults, org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parsingResult, org.infinispan.query.dsl.IndexedQueryMode queryMode)- Overrides:
buildQueryNoAggregationsin classorg.infinispan.query.core.impl.QueryEngine<TypeMetadata>
-
makeProjectionProcessor
protected QueryEngine.RowProcessor makeProjectionProcessor(Class<?>[] projectedTypes, Object[] projectedNullMarkers)
Apply some post-processing to the result when we have projections.
-
buildCacheQuery
public <E> IndexedQuery<E> buildCacheQuery(org.apache.lucene.search.Query luceneQuery, KeyTransformationHandler keyTransformationHandler, org.hibernate.search.query.engine.spi.TimeoutExceptionFactory timeoutExceptionFactory, Class<?> entity)
-
createHsQuery
public HsQueryRequest createHsQuery(String queryString, org.hibernate.search.spi.IndexedTypeMap<org.hibernate.search.spi.CustomTypeMetadata> metadata, Map<String,Object> nameParameters)
-
buildCacheQuery
public <E> IndexedQuery<E> buildCacheQuery(QueryDefinition queryDefinition, org.infinispan.query.dsl.IndexedQueryMode indexedQueryMode, KeyTransformationHandler keyTransformationHandler, ExecutorService asyncExecutor, org.hibernate.search.spi.IndexedTypeMap<org.hibernate.search.spi.CustomTypeMetadata> indexedTypeMap)
-
buildCacheQuery
public <E> IndexedQuery<E> buildCacheQuery(String queryString, org.infinispan.query.dsl.IndexedQueryMode indexedQueryMode, KeyTransformationHandler keyTransformationHandler, org.hibernate.search.query.engine.spi.TimeoutExceptionFactory timeoutExceptionFactory, ExecutorService asyncExecutor)
-
parse
public org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parse(String queryString)
- Overrides:
parsein classorg.infinispan.query.core.impl.QueryEngine<TypeMetadata>
-
makeTypeQuery
protected org.apache.lucene.search.Query makeTypeQuery(org.apache.lucene.search.Query query, String targetEntityName)Enhances the give query with an extra condition to discriminate on entity type. This is a no-op in embedded mode but other query engines could use it to discriminate if more types are stored in the same index. To be overridden by subclasses as needed.
-
getTargetedClass
protected Class<?> getTargetedClass(org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<?> parsingResult)
-
makeCacheQuery
protected IndexedQuery<?> makeCacheQuery(org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> ickleParsingResult, org.apache.lucene.search.Query luceneQuery, org.infinispan.query.dsl.IndexedQueryMode queryMode, Map<String,Object> namedParameters)
-
-