Interface Rewriteable<T>

All Known Subinterfaces:
MultiTermQueryBuilder, QueryBuilder, SpanQueryBuilder
All Known Implementing Classes:
AbstractAggregationBuilder, AbstractGeometryQueryBuilder, AbstractHighlighterBuilder, AbstractPercentilesAggregationBuilder, AbstractPipelineAggregationBuilder, AbstractQueryBuilder, AbstractRangeBuilder, AdjacencyMatrixAggregationBuilder, AggregationBuilder, AliasFilter, AutoDateHistogramAggregationBuilder, AvgAggregationBuilder, AvgBucketPipelineAggregationBuilder, BaseTermQueryBuilder, BoolQueryBuilder, BoostingQueryBuilder, BucketMetricsPipelineAggregationBuilder, BucketScriptPipelineAggregationBuilder, BucketSelectorPipelineAggregationBuilder, BucketSortPipelineAggregationBuilder, CardinalityAggregationBuilder, CombinedFieldsQueryBuilder, CommonTermsQueryBuilder, CompositeAggregationBuilder, ConstantScoreQueryBuilder, CumulativeSumPipelineAggregationBuilder, DateHistogramAggregationBuilder, DateRangeAggregationBuilder, DerivativePipelineAggregationBuilder, DisMaxQueryBuilder, DistanceFeatureQueryBuilder, DiversifiedAggregationBuilder, ExistsQueryBuilder, ExtendedStatsAggregationBuilder, ExtendedStatsBucketPipelineAggregationBuilder, FieldMaskingSpanQueryBuilder, FieldSortBuilder, FilterAggregationBuilder, FiltersAggregationBuilder, FunctionScoreQueryBuilder, FuzzyQueryBuilder, GeoBoundingBoxQueryBuilder, GeoBoundsAggregationBuilder, GeoCentroidAggregationBuilder, GeoDistanceAggregationBuilder, GeoDistanceQueryBuilder, GeoDistanceSortBuilder, GeoGridAggregationBuilder, GeoHashGridAggregationBuilder, GeoPolygonQueryBuilder, GeoShapeQueryBuilder, GeoTileGridAggregationBuilder, GlobalAggregationBuilder, HighlightBuilder, HighlightBuilder.Field, HistogramAggregationBuilder, IdsQueryBuilder, IntervalQueryBuilder, IpRangeAggregationBuilder, MatchAllQueryBuilder, MatchBoolPrefixQueryBuilder, MatchNoneQueryBuilder, MatchPhrasePrefixQueryBuilder, MatchPhraseQueryBuilder, MatchQueryBuilder, MaxAggregationBuilder, MaxBucketPipelineAggregationBuilder, MedianAbsoluteDeviationAggregationBuilder, MinAggregationBuilder, MinBucketPipelineAggregationBuilder, MissingAggregationBuilder, MoreLikeThisQueryBuilder, MovAvgPipelineAggregationBuilder, MovFnPipelineAggregationBuilder, MultiMatchQueryBuilder, MultiValuesSourceAggregationBuilder, MultiValuesSourceAggregationBuilder.LeafOnly, NestedAggregationBuilder, NestedQueryBuilder, PercentileRanksAggregationBuilder, PercentilesAggregationBuilder, PercentilesBucketPipelineAggregationBuilder, PipelineAggregationBuilder, PrefixQueryBuilder, QueryRescorerBuilder, QueryStringQueryBuilder, RangeAggregationBuilder, RangeQueryBuilder, RareTermsAggregationBuilder, RegexpQueryBuilder, RescorerBuilder, ReverseNestedAggregationBuilder, SamplerAggregationBuilder, ScoreSortBuilder, ScriptedMetricAggregationBuilder, ScriptQueryBuilder, ScriptScoreQueryBuilder, ScriptSortBuilder, SearchRequest, SearchSourceBuilder, SerialDiffPipelineAggregationBuilder, SignificantTermsAggregationBuilder, SignificantTextAggregationBuilder, SimpleQueryStringBuilder, SortBuilder, SpanContainingQueryBuilder, SpanFirstQueryBuilder, SpanMultiTermQueryBuilder, SpanNearQueryBuilder, SpanNearQueryBuilder.SpanGapQueryBuilder, SpanNotQueryBuilder, SpanOrQueryBuilder, SpanTermQueryBuilder, SpanWithinQueryBuilder, StatsAggregationBuilder, StatsBucketPipelineAggregationBuilder, SumAggregationBuilder, SumBucketPipelineAggregationBuilder, TermQueryBuilder, TermsAggregationBuilder, TermsQueryBuilder, TermsSetQueryBuilder, TopHitsAggregationBuilder, TypeQueryBuilder, ValueCountAggregationBuilder, ValuesSourceAggregationBuilder, ValuesSourceAggregationBuilder.LeafOnly, VariableWidthHistogramAggregationBuilder, WeightedAvgAggregationBuilder, WildcardQueryBuilder, WrapperQueryBuilder

public interface Rewriteable<T>
A basic interface for rewriteable classes.
  • Field Details

  • Method Details

    • rewrite

      T rewrite(QueryRewriteContext ctx) throws
      Rewrites this instance based on the provided context. The returned objects will be the same instance as this if no changes during the rewrite were applied.
      Throws:
    • rewrite

      static <T extends Rewriteable<T>> T rewrite(T original, QueryRewriteContext context) throws
      Rewrites the given Rewriteable into its primitive form. Rewriteables that for instance fetch resources from remote hosts or can simplify / optimize itself should do their heavy lifting during rewrite(QueryRewriteContext). This method rewrites the rewriteable until it doesn't change anymore.
      Parameters:
      original - the original rewriteable to rewrite
      context - the rewrite context to use
      Throws:
      - if an occurs
    • rewrite

      static <T extends Rewriteable<T>> T rewrite(T original, QueryRewriteContext context, boolean assertNoAsyncTasks) throws
      Rewrites the given Rewriteable into its primitive form. Rewriteables that for instance fetch resources from remote hosts or can simplify / optimize itself should do their heavy lifting during rewriteAndFetch(Rewriteable, QueryRewriteContext, ActionListener) (QueryRewriteContext)}. This method rewrites the rewriteable until it doesn't change anymore.
      Parameters:
      original - the original rewriteable to rewrite
      context - the rewrite context to use
      assertNoAsyncTasks - if true the rewrite will fail if there are any pending async tasks on the context after the rewrite. See QueryRewriteContext.executeAsyncActions(ActionListener) for details
      Throws:
      - if an occurs
    • rewriteAndFetch

      static <T extends Rewriteable<T>> void rewriteAndFetch(T original, QueryRewriteContext context, ActionListener<T> rewriteResponse)
      Rewrites the given rewriteable and fetches pending async tasks for each round before rewriting again.
    • rewriteAndFetch

      static <T extends Rewriteable<T>> void rewriteAndFetch(T original, QueryRewriteContext context, ActionListener<T> rewriteResponse, int iteration)
      Rewrites the given rewriteable and fetches pending async tasks for each round before rewriting again.
    • rewrite

      static <T extends <T> rewrite(<T> rewritables, QueryRewriteContext context) throws
      Rewrites each element of the list until it doesn't change and returns a new list iff there is at least one element of the list that changed during it's rewrite. Otherwise the given list instance is returned unchanged.
      Throws: