Class 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
    • Field Detail

      • isIndexed

        protected final boolean isIndexed
        Is the cache indexed?
    • Constructor Detail

      • QueryEngine

        public QueryEngine​(org.infinispan.AdvancedCache<?,​?> cache,
                           boolean isIndexed)
    • Method Detail

      • 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:
        buildQueryWithAggregations in class org.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:
        buildQueryNoAggregations in class org.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:
        parse in class org.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)