Class QueryEngine<TypeMetadata>
- java.lang.Object
-
- org.infinispan.query.dsl.embedded.impl.QueryEngine<TypeMetadata>
-
- Direct Known Subclasses:
EmbeddedQueryEngine
public class QueryEngine<TypeMetadata> extends Object
- Since:
- 7.2
- Author:
- anistor@redhat.com
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interface
QueryEngine.RowProcessor
A result processor that processes projections (rows).
-
Field Summary
Fields Modifier and Type Field Description protected AdvancedCache<?,?>
cache
protected LuceneQueryMaker.FieldBridgeAndAnalyzerProvider<TypeMetadata>
fieldBridgeAndAnalyzerProvider
protected boolean
isIndexed
Is the cache indexed?protected Matcher
matcher
protected Class<? extends Matcher>
matcherImplClass
protected org.infinispan.objectfilter.impl.syntax.parser.ObjectPropertyHelper<TypeMetadata>
propertyHelper
-
Constructor Summary
Constructors Modifier Constructor Description protected
QueryEngine(AdvancedCache<?,?> cache, boolean isIndexed, Class<? extends Matcher> matcherImplClass, LuceneQueryMaker.FieldBridgeAndAnalyzerProvider<TypeMetadata> fieldBridgeAndAnalyzerProvider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <E> CacheQuery<E>
buildCacheQuery(String queryString, IndexedQueryMode indexedQueryMode, KeyTransformationHandler keyTransformationHandler, org.hibernate.search.query.engine.spi.TimeoutExceptionFactory timeoutExceptionFactory, ExecutorService asyncExecutor, Class<?>... classes)
<E> CacheQuery<E>
buildCacheQuery(org.apache.lucene.search.Query luceneQuery, IndexedQueryMode indexedQueryMode, KeyTransformationHandler keyTransformationHandler, org.hibernate.search.query.engine.spi.TimeoutExceptionFactory timeoutExceptionFactory, ExecutorService asyncExecutor, Class<?>... classes)
<E> CacheQuery<E>
buildCacheQuery(QueryDefinition queryDefinition, IndexedQueryMode indexedQueryMode, KeyTransformationHandler keyTransformationHandler, org.hibernate.search.query.engine.spi.TimeoutExceptionFactory timeoutExceptionFactory, ExecutorService asyncExecutor, org.hibernate.search.spi.IndexedTypeMap<org.hibernate.search.spi.CustomTypeMetadata> indexedTypeMap)
protected <E> CacheQuery<E>
buildLuceneQuery(org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> ickleParsingResult, Map<String,Object> namedParameters, long startOffset, int maxResults)
protected <E> CacheQuery<E>
buildLuceneQuery(org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> ickleParsingResult, Map<String,Object> namedParameters, long startOffset, int maxResults, IndexedQueryMode queryMode)
Build a Lucene index query.protected BaseQuery
buildQuery(QueryFactory queryFactory, org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parsingResult, Map<String,Object> namedParameters, long startOffset, int maxResults)
protected BaseQuery
buildQuery(QueryFactory queryFactory, org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parsingResult, Map<String,Object> namedParameters, long startOffset, int maxResults, IndexedQueryMode queryMode)
protected IckleFilterAndConverter
createAndWireFilter(String queryString, Map<String,Object> namedParameters)
protected IckleFilterAndConverter
createFilter(String queryString, Map<String,Object> namedParameters)
HsQueryRequest
createHsQuery(String queryString, org.hibernate.search.spi.IndexedTypeMap<org.hibernate.search.spi.CustomTypeMetadata> metadata, Map<String,Object> nameParameters)
Class<? extends Matcher>
getMatcherClass()
protected org.hibernate.search.spi.SearchIntegrator
getSearchFactory()
protected SearchManagerImplementor
getSearchManager()
protected Class<?>
getTargetedClass(org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<?> parsingResult)
protected CacheQuery<?>
makeCacheQuery(org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> ickleParsingResult, org.apache.lucene.search.Query luceneQuery, IndexedQueryMode queryMode, Map<String,Object> namedParameters)
protected QueryEngine.RowProcessor
makeProjectionProcessor(Class<?>[] projectedTypes, Object[] projectedNullMarkers)
Apply some pos-processing to the result when we have projections.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.protected org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata>
parse(String queryString)
protected AdvancedCache<?,?>
wrapCache(AdvancedCache<?,?> cache, boolean isIndexed)
-
-
-
Field Detail
-
cache
protected final AdvancedCache<?,?> cache
-
isIndexed
protected final boolean isIndexed
Is the cache indexed?
-
matcher
protected final Matcher matcher
-
propertyHelper
protected final org.infinispan.objectfilter.impl.syntax.parser.ObjectPropertyHelper<TypeMetadata> propertyHelper
-
fieldBridgeAndAnalyzerProvider
protected final LuceneQueryMaker.FieldBridgeAndAnalyzerProvider<TypeMetadata> fieldBridgeAndAnalyzerProvider
-
-
Constructor Detail
-
QueryEngine
protected QueryEngine(AdvancedCache<?,?> cache, boolean isIndexed, Class<? extends Matcher> matcherImplClass, LuceneQueryMaker.FieldBridgeAndAnalyzerProvider<TypeMetadata> fieldBridgeAndAnalyzerProvider)
-
-
Method Detail
-
wrapCache
protected AdvancedCache<?,?> wrapCache(AdvancedCache<?,?> cache, boolean isIndexed)
-
getSearchManager
protected SearchManagerImplementor getSearchManager()
-
getSearchFactory
protected org.hibernate.search.spi.SearchIntegrator getSearchFactory()
-
buildQuery
protected BaseQuery buildQuery(QueryFactory queryFactory, org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parsingResult, Map<String,Object> namedParameters, long startOffset, int maxResults)
-
buildQuery
protected BaseQuery buildQuery(QueryFactory queryFactory, org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parsingResult, Map<String,Object> namedParameters, long startOffset, int maxResults, IndexedQueryMode queryMode)
-
makeProjectionProcessor
protected QueryEngine.RowProcessor makeProjectionProcessor(Class<?>[] projectedTypes, Object[] projectedNullMarkers)
Apply some pos-processing to the result when we have projections.
-
parse
protected org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> parse(String queryString)
-
createAndWireFilter
protected final IckleFilterAndConverter createAndWireFilter(String queryString, Map<String,Object> namedParameters)
-
createFilter
protected IckleFilterAndConverter createFilter(String queryString, Map<String,Object> namedParameters)
-
buildCacheQuery
public <E> CacheQuery<E> buildCacheQuery(org.apache.lucene.search.Query luceneQuery, IndexedQueryMode indexedQueryMode, KeyTransformationHandler keyTransformationHandler, org.hibernate.search.query.engine.spi.TimeoutExceptionFactory timeoutExceptionFactory, ExecutorService asyncExecutor, Class<?>... classes)
-
createHsQuery
public HsQueryRequest createHsQuery(String queryString, org.hibernate.search.spi.IndexedTypeMap<org.hibernate.search.spi.CustomTypeMetadata> metadata, Map<String,Object> nameParameters)
-
buildCacheQuery
public <E> CacheQuery<E> buildCacheQuery(QueryDefinition queryDefinition, IndexedQueryMode indexedQueryMode, KeyTransformationHandler keyTransformationHandler, org.hibernate.search.query.engine.spi.TimeoutExceptionFactory timeoutExceptionFactory, ExecutorService asyncExecutor, org.hibernate.search.spi.IndexedTypeMap<org.hibernate.search.spi.CustomTypeMetadata> indexedTypeMap)
-
buildCacheQuery
public <E> CacheQuery<E> buildCacheQuery(String queryString, IndexedQueryMode indexedQueryMode, KeyTransformationHandler keyTransformationHandler, org.hibernate.search.query.engine.spi.TimeoutExceptionFactory timeoutExceptionFactory, ExecutorService asyncExecutor, Class<?>... classes)
-
buildLuceneQuery
protected <E> CacheQuery<E> buildLuceneQuery(org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> ickleParsingResult, Map<String,Object> namedParameters, long startOffset, int maxResults)
-
buildLuceneQuery
protected <E> CacheQuery<E> buildLuceneQuery(org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> ickleParsingResult, Map<String,Object> namedParameters, long startOffset, int maxResults, IndexedQueryMode queryMode)
Build a Lucene index query.
-
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 CacheQuery<?> makeCacheQuery(org.infinispan.objectfilter.impl.syntax.parser.IckleParsingResult<TypeMetadata> ickleParsingResult, org.apache.lucene.search.Query luceneQuery, IndexedQueryMode queryMode, Map<String,Object> namedParameters)
-
-