Class QueryShardContext


  • public class QueryShardContext
    extends QueryRewriteContext
    Context object used to create lucene queries on the shard level.
    • Method Detail

      • setTypes

        public void setTypes​(java.lang.String... types)
      • getTypes

        public java.lang.String[] getTypes()
      • getSearchSimilarity

        public org.apache.lucene.search.similarities.Similarity getSearchSimilarity()
      • defaultFields

        public java.util.List<java.lang.String> defaultFields()
      • queryStringLenient

        public boolean queryStringLenient()
      • queryStringAnalyzeWildcard

        public boolean queryStringAnalyzeWildcard()
      • queryStringAllowLeadingWildcard

        public boolean queryStringAllowLeadingWildcard()
      • bitsetFilter

        public org.apache.lucene.search.join.BitSetProducer bitsetFilter​(org.apache.lucene.search.Query filter)
      • addNamedQuery

        public void addNamedQuery​(java.lang.String name,
                                  org.apache.lucene.search.Query query)
      • copyNamedQueries

        public java.util.Map<java.lang.String,​org.apache.lucene.search.Query> copyNamedQueries()
      • isFilter

        @Deprecated
        public boolean isFilter()
        Deprecated.
        The distinction between query and filter context is removed in the next major version.
        Return whether we are currently parsing a filter or a query.
      • setIsFilter

        public void setIsFilter​(boolean isFilter)
        Public for testing only! Sets whether we are currently parsing a filter or a query
      • simpleMatchToIndexNames

        public java.util.Collection<java.lang.String> simpleMatchToIndexNames​(java.lang.String pattern)
        Returns all the fields that match a given pattern. If prefixed with a type then the fields will be returned with a type prefix.
      • fieldMapper

        public MappedFieldType fieldMapper​(java.lang.String name)
      • getObjectMapper

        public ObjectMapper getObjectMapper​(java.lang.String name)
      • getSearchAnalyzer

        public org.apache.lucene.analysis.Analyzer getSearchAnalyzer​(MappedFieldType fieldType)
        Gets the search analyzer for the given field, or the default if there is none present for the field TODO: remove this by moving defaults into mappers themselves
      • getSearchQuoteAnalyzer

        public org.apache.lucene.analysis.Analyzer getSearchQuoteAnalyzer​(MappedFieldType fieldType)
        Gets the search quote analyzer for the given field, or the default if there is none present for the field TODO: remove this by moving defaults into mappers themselves
      • setAllowUnmappedFields

        public void setAllowUnmappedFields​(boolean allowUnmappedFields)
      • setMapUnmappedFieldAsString

        public void setMapUnmappedFieldAsString​(boolean mapUnmappedFieldAsString)
      • queryTypes

        public java.util.Collection<java.lang.String> queryTypes()
        Returns the narrowed down explicit types, or, if not set, all types.
      • indexVersionCreated

        public Version indexVersionCreated()
      • index

        public Index index()
      • getScriptService

        public final ScriptService getScriptService()
        Return the script service to allow compiling scripts.
      • freezeContext

        public final void freezeContext()
        if this method is called the query context will throw exception if methods are accessed that could yield different results across executions like getClient()
      • failIfFrozen

        protected final void failIfFrozen()
        This method fails if freezeContext() is called before on this context. This is used to seal. This methods and all methods that call it should be final to ensure that setting the request as not cacheable and the freezing behaviour of this class cannot be bypassed. This is important so we can trust when this class says a request can be cached.
      • registerAsyncAction

        public void registerAsyncAction​(java.util.function.BiConsumer<Client,​ActionListener<?>> asyncAction)
        Description copied from class: QueryRewriteContext
        Registers an async action that must be executed before the next rewrite round in order to make progress. This should be used if a rewriteabel needs to fetch some external resources in order to be executed ie. a document from an index.
        Overrides:
        registerAsyncAction in class QueryRewriteContext
      • executeAsyncActions

        public void executeAsyncActions​(ActionListener listener)
        Description copied from class: QueryRewriteContext
        Executes all registered async actions and notifies the listener once it's done. The value that is passed to the listener is always null. The list of registered actions is cleared once this method returns.
        Overrides:
        executeAsyncActions in class QueryRewriteContext
      • isCacheable

        public final boolean isCacheable()
        Returns true iff the result of the processed search request is cacheable. Otherwise false
      • getShardId

        public int getShardId()
        Returns the shard ID this context was created for.
      • nowInMillis

        public final long nowInMillis()
        Description copied from class: QueryRewriteContext
        Returns the time in milliseconds that is shared across all resources involved. Even across shards and nodes.
        Overrides:
        nowInMillis in class QueryRewriteContext
      • getClient

        public Client getClient()
      • parseInnerQueryBuilder

        public QueryBuilder parseInnerQueryBuilder​(XContentParser parser)
                                            throws java.io.IOException
        Throws:
        java.io.IOException
      • getIndexSettings

        public IndexSettings getIndexSettings()
        Returns the index settings for this context. This might return null if the context has not index scope.
      • getMapperService

        public MapperService getMapperService()
        Return the MapperService.
      • getIndexReader

        public org.apache.lucene.index.IndexReader getIndexReader()
        Return the current IndexReader, or null if no index reader is available, for instance if this rewrite context is used to index queries (percolation).
      • getFullyQualifiedIndex

        public Index getFullyQualifiedIndex()
        Returns the fully qualified index including a remote cluster alias if applicable, and the index uuid