Class QueryShardContext

java.lang.Object
org.opensearch.index.query.QueryRewriteContext
org.opensearch.index.query.QueryShardContext

public class QueryShardContext extends QueryRewriteContext
Context object used to create lucene queries on the shard level.
Opensearch.internal:
  • Constructor Details

  • Method Details

    • getIndexAnalyzers

      public IndexAnalyzers getIndexAnalyzers()
    • getSearchSimilarity

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

      public List<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)
    • allowExpensiveQueries

      public boolean allowExpensiveQueries()
    • getForField

      public <IFD extends IndexFieldData<?>> IFD getForField(MappedFieldType fieldType)
    • addNamedQuery

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

      public Map<String,org.apache.lucene.search.Query> copyNamedQueries()
    • simpleMatchToIndexNames

      public Set<String> simpleMatchToIndexNames(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.
    • getFieldType

      public MappedFieldType getFieldType(String name)
      Returns the MappedFieldType for the provided field name. If the field is not mapped, the behaviour depends on the index.query.parse.allow_unmapped_fields setting, which defaults to true. In case unmapped fields are allowed, null is returned when the field is not mapped. In case unmapped fields are not allowed, either an exception is thrown or the field is automatically mapped as a text field.
      Throws:
      QueryShardException - if unmapped fields are not allowed and automatically mapping unmapped fields as text is disabled.
      See Also:
    • fieldMapper

      public MappedFieldType fieldMapper(String name)
    • getObjectMapper

      public ObjectMapper getObjectMapper(String name)
    • isMetadataField

      public boolean isMetadataField(String field)
    • sourcePath

      public Set<String> sourcePath(String fullName)
    • documentMapper

      public DocumentMapper documentMapper(String type)
      Returns s DocumentMapper instance. Delegates to MapperService.documentMapper()
    • 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
    • getValuesSourceRegistry

      public ValuesSourceRegistry getValuesSourceRegistry()
    • setAllowUnmappedFields

      public void setAllowUnmappedFields(boolean allowUnmappedFields)
    • setMapUnmappedFieldAsString

      public void setMapUnmappedFieldAsString(boolean mapUnmappedFieldAsString)
    • lookup

      public SearchLookup lookup()
      Get the lookup to use during the search.
    • newFetchLookup

      public SearchLookup newFetchLookup()
      Build a lookup customized for the fetch phase. Use lookup() in other phases.
    • nestedScope

      public NestedScope nestedScope()
    • indexVersionCreated

      public Version indexVersionCreated()
    • indexMatches

      public boolean indexMatches(String pattern)
      Given an index pattern, checks whether it matches against the current shard. The pattern may represent a fully qualified index name if the search targets remote shards.
    • indexSortedOnField

      public boolean indexSortedOnField(String field)
    • toQuery

      public ParsedQuery toQuery(QueryBuilder queryBuilder)
    • index

      public Index index()
    • compile

      public <FactoryType> FactoryType compile(Script script, ScriptContext<FactoryType> context)
      Compile script using script service
    • 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(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(org.opensearch.common.xcontent.XContentParser parser) throws IOException
      Throws:
      IOException
    • convertToShardContext

      public final QueryShardContext convertToShardContext()
      Description copied from class: QueryRewriteContext
      Returns an instance of QueryShardContext if available of null otherwise
      Overrides:
      convertToShardContext in class QueryRewriteContext
    • 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).
    • searcher

      public org.apache.lucene.search.IndexSearcher searcher()
      Return the current IndexSearcher, 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
    • bigArrays

      public BigArrays bigArrays()
      Return the BigArrays instance for this node.
    • getSimilarityService

      public SimilarityService getSimilarityService()
    • getBitsetFilterCache

      public BitsetFilterCache getBitsetFilterCache()
    • getUsageService

      public AggregationUsageService getUsageService()