Class SearchSourceBuilder

java.lang.Object
org.elasticsearch.search.builder.SearchSourceBuilder
All Implemented Interfaces:
Writeable, org.elasticsearch.common.xcontent.ToXContent, org.elasticsearch.common.xcontent.ToXContentObject, Rewriteable<SearchSourceBuilder>

public final class SearchSourceBuilder extends Object implements Writeable, org.elasticsearch.common.xcontent.ToXContentObject, Rewriteable<SearchSourceBuilder>
A search source builder allowing to easily build search source. Simple construction using searchSource().
See Also:
SearchRequest.source(SearchSourceBuilder)
  • Field Details

    • FROM_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField FROM_FIELD
    • SIZE_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField SIZE_FIELD
    • TIMEOUT_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField TIMEOUT_FIELD
    • TERMINATE_AFTER_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField TERMINATE_AFTER_FIELD
    • QUERY_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField QUERY_FIELD
    • POST_FILTER_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField POST_FILTER_FIELD
    • MIN_SCORE_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField MIN_SCORE_FIELD
    • VERSION_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField VERSION_FIELD
    • SEQ_NO_PRIMARY_TERM_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField SEQ_NO_PRIMARY_TERM_FIELD
    • EXPLAIN_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField EXPLAIN_FIELD
    • _SOURCE_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField _SOURCE_FIELD
    • STORED_FIELDS_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField STORED_FIELDS_FIELD
    • DOCVALUE_FIELDS_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField DOCVALUE_FIELDS_FIELD
    • FETCH_FIELDS_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField FETCH_FIELDS_FIELD
    • SCRIPT_FIELDS_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField SCRIPT_FIELDS_FIELD
    • SCRIPT_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField SCRIPT_FIELD
    • IGNORE_FAILURE_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField IGNORE_FAILURE_FIELD
    • SORT_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField SORT_FIELD
    • TRACK_SCORES_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField TRACK_SCORES_FIELD
    • TRACK_TOTAL_HITS_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField TRACK_TOTAL_HITS_FIELD
    • INDICES_BOOST_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField INDICES_BOOST_FIELD
    • AGGREGATIONS_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField AGGREGATIONS_FIELD
    • AGGS_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField AGGS_FIELD
    • HIGHLIGHT_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField HIGHLIGHT_FIELD
    • SUGGEST_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField SUGGEST_FIELD
    • RESCORE_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField RESCORE_FIELD
    • STATS_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField STATS_FIELD
    • EXT_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField EXT_FIELD
    • PROFILE_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField PROFILE_FIELD
    • SEARCH_AFTER

      public static final org.elasticsearch.common.xcontent.ParseField SEARCH_AFTER
    • COLLAPSE

      public static final org.elasticsearch.common.xcontent.ParseField COLLAPSE
    • SLICE

      public static final org.elasticsearch.common.xcontent.ParseField SLICE
    • POINT_IN_TIME

      public static final org.elasticsearch.common.xcontent.ParseField POINT_IN_TIME
    • RUNTIME_MAPPINGS_FIELD

      public static final org.elasticsearch.common.xcontent.ParseField RUNTIME_MAPPINGS_FIELD
  • Constructor Details

    • SearchSourceBuilder

      public SearchSourceBuilder()
      Constructs a new search source builder.
    • SearchSourceBuilder

      public SearchSourceBuilder(StreamInput in) throws IOException
      Read from a stream.
      Throws:
      IOException
  • Method Details

    • fromXContent

      public static SearchSourceBuilder fromXContent(org.elasticsearch.common.xcontent.XContentParser parser) throws IOException
      Throws:
      IOException
    • fromXContent

      public static SearchSourceBuilder fromXContent(org.elasticsearch.common.xcontent.XContentParser parser, boolean checkTrailingTokens) throws IOException
      Throws:
      IOException
    • searchSource

      public static SearchSourceBuilder searchSource()
      A static factory method to construct a new search source.
    • highlight

      public static HighlightBuilder highlight()
      A static factory method to construct new search highlights.
    • writeTo

      public void writeTo(StreamOutput out) throws IOException
      Description copied from interface: Writeable
      Write this into the StreamOutput.
      Specified by:
      writeTo in interface Writeable
      Throws:
      IOException
    • query

      public SearchSourceBuilder query(QueryBuilder query)
      Sets the search query for this request.
      See Also:
      QueryBuilders
    • query

      public QueryBuilder query()
      Gets the query for this request
    • postFilter

      public SearchSourceBuilder postFilter(QueryBuilder postFilter)
      Sets a filter that will be executed after the query has been executed and only has affect on the search hits (not aggregations). This filter is always executed as last filtering mechanism.
    • postFilter

      public QueryBuilder postFilter()
      Gets the post filter for this request
    • from

      public SearchSourceBuilder from(int from)
      From index to start the search from. Defaults to 0.
    • from

      public int from()
      Gets the from index to start the search from.
    • size

      public SearchSourceBuilder size(int size)
      The number of search hits to return. Defaults to 10.
    • size

      public int size()
      Gets the number of search hits to return.
    • minScore

      public SearchSourceBuilder minScore(float minScore)
      Sets the minimum score below which docs will be filtered out.
    • minScore

      public Float minScore()
      Gets the minimum score below which docs will be filtered out.
    • explain

      public SearchSourceBuilder explain(Boolean explain)
      Should each SearchHit be returned with an explanation of the hit (ranking).
    • explain

      public Boolean explain()
      Indicates whether each search hit will be returned with an explanation of the hit (ranking)
    • version

      public SearchSourceBuilder version(Boolean version)
      Should each SearchHit be returned with a version associated with it.
    • version

      public Boolean version()
      Indicates whether the document's version will be included in the search hits.
    • seqNoAndPrimaryTerm

      public SearchSourceBuilder seqNoAndPrimaryTerm(Boolean seqNoAndPrimaryTerm)
      Should each SearchHit be returned with the sequence number and primary term of the last modification of the document.
    • seqNoAndPrimaryTerm

      public Boolean seqNoAndPrimaryTerm()
      Indicates whether SearchHits should be returned with the sequence number and primary term of the last modification of the document.
    • timeout

      public SearchSourceBuilder timeout(org.elasticsearch.core.TimeValue timeout)
      An optional timeout to control how long search is allowed to take.
    • timeout

      public org.elasticsearch.core.TimeValue timeout()
      Gets the timeout to control how long search is allowed to take.
    • terminateAfter

      public SearchSourceBuilder terminateAfter(int terminateAfter)
      An optional terminate_after to terminate the search after collecting terminateAfter documents
    • terminateAfter

      public int terminateAfter()
      Gets the number of documents to terminate after collecting.
    • sort

      public SearchSourceBuilder sort(String name, SortOrder order)
      Adds a sort against the given field name and the sort ordering.
      Parameters:
      name - The name of the field
      order - The sort ordering
    • sort

      public SearchSourceBuilder sort(String name)
      Add a sort against the given field name.
      Parameters:
      name - The name of the field to sort by
    • sort

      public SearchSourceBuilder sort(SortBuilder<?> sort)
      Adds a sort builder.
    • sort

      public SearchSourceBuilder sort(List<SortBuilder<?>> sorts)
      Sets the sort builders for this request.
    • sorts

      public List<SortBuilder<?>> sorts()
      Gets the sort builders for this request.
    • trackScores

      public SearchSourceBuilder trackScores(boolean trackScores)
      Applies when sorting, and controls if scores will be tracked as well. Defaults to false.
    • trackScores

      public boolean trackScores()
      Indicates whether scores will be tracked for this request.
    • trackTotalHits

      public SearchSourceBuilder trackTotalHits(boolean trackTotalHits)
      Indicates if the total hit count for the query should be tracked.
    • trackTotalHitsUpTo

      @Nullable public Integer trackTotalHitsUpTo()
      Returns the total hit count that should be tracked or null if the value is unset. Defaults to null.
    • trackTotalHitsUpTo

      public SearchSourceBuilder trackTotalHitsUpTo(int trackTotalHitsUpTo)
    • searchAfter

      public Object[] searchAfter()
      The sort values that indicates which docs this request should "search after". The sort values of the search_after must be equal to the number of sort fields in the query and they should be of the same type (or parsable as such). Defaults to null.
    • searchAfter

      public SearchSourceBuilder searchAfter(Object[] values)
      Set the sort values that indicates which docs this request should "search after".
    • slice

      public SearchSourceBuilder slice(SliceBuilder builder)
      Sets a filter that will restrict the search hits, the top hits and the aggregations to a slice of the results of the main query.
    • slice

      public SliceBuilder slice()
      Gets the slice used to filter the search hits, the top hits and the aggregations.
    • collapse

      public CollapseBuilder collapse()
    • collapse

      public SearchSourceBuilder collapse(CollapseBuilder collapse)
    • aggregation

      public SearchSourceBuilder aggregation(AggregationBuilder aggregation)
      Add an aggregation to perform as part of the search.
    • aggregation

      public SearchSourceBuilder aggregation(PipelineAggregationBuilder aggregation)
      Add an aggregation to perform as part of the search.
    • aggregations

      public AggregatorFactories.Builder aggregations()
      Gets the bytes representing the aggregation builders for this request.
    • highlighter

      public SearchSourceBuilder highlighter(HighlightBuilder highlightBuilder)
      Adds highlight to perform as part of the search.
    • highlighter

      public HighlightBuilder highlighter()
      Gets the highlighter builder for this request.
    • suggest

      public SearchSourceBuilder suggest(SuggestBuilder suggestBuilder)
    • suggest

      public SuggestBuilder suggest()
      Gets the suggester builder for this request.
    • addRescorer

      public SearchSourceBuilder addRescorer(RescorerBuilder<?> rescoreBuilder)
    • clearRescorers

      public SearchSourceBuilder clearRescorers()
    • profile

      public SearchSourceBuilder profile(boolean profile)
      Should the query be profiled. Defaults to false
    • profile

      public boolean profile()
      Return whether to profile query execution, or null if unspecified.
    • rescores

      public List<RescorerBuilder> rescores()
      Gets the bytes representing the rescore builders for this request.
    • fetchSource

      public SearchSourceBuilder fetchSource(boolean fetch)
      Indicates whether the response should contain the stored _source for every hit
    • fetchSource

      public SearchSourceBuilder fetchSource(@Nullable String include, @Nullable String exclude)
      Indicate that _source should be returned with every hit, with an "include" and/or "exclude" set which can include simple wildcard elements.
      Parameters:
      include - An optional include (optionally wildcarded) pattern to filter the returned _source
      exclude - An optional exclude (optionally wildcarded) pattern to filter the returned _source
    • fetchSource

      public SearchSourceBuilder fetchSource(@Nullable String[] includes, @Nullable String[] excludes)
      Indicate that _source should be returned with every hit, with an "include" and/or "exclude" set which can include simple wildcard elements.
      Parameters:
      includes - An optional list of include (optionally wildcarded) pattern to filter the returned _source
      excludes - An optional list of exclude (optionally wildcarded) pattern to filter the returned _source
    • fetchSource

      public SearchSourceBuilder fetchSource(@Nullable FetchSourceContext fetchSourceContext)
      Indicate how the _source should be fetched.
    • fetchSource

      public FetchSourceContext fetchSource()
      Gets the FetchSourceContext which defines how the _source should be fetched.
    • storedField

      public SearchSourceBuilder storedField(String name)
      Adds a stored field to load and return as part of the search request. If none are specified, the source of the document will be return.
    • storedFields

      public SearchSourceBuilder storedFields(List<String> fields)
      Sets the stored fields to load and return as part of the search request. If none are specified, the source of the document will be returned.
    • storedFields

      public SearchSourceBuilder storedFields(StoredFieldsContext context)
      Indicates how the stored fields should be fetched.
    • storedFields

      public StoredFieldsContext storedFields()
      Gets the stored fields context.
    • docValueFields

      public List<FieldAndFormat> docValueFields()
      Gets the docvalue fields.
    • docValueField

      public SearchSourceBuilder docValueField(String name, @Nullable String format)
      Adds a field to load from the doc values and return as part of the search request.
    • docValueField

      public SearchSourceBuilder docValueField(String name)
      Adds a field to load from the doc values and return as part of the search request.
    • fetchFields

      public List<FieldAndFormat> fetchFields()
      Gets the fields to load and return as part of the search request.
    • fetchField

      public SearchSourceBuilder fetchField(String name)
      Adds a field to load and return as part of the search request.
    • fetchField

      public SearchSourceBuilder fetchField(FieldAndFormat fetchField)
      Adds a field to load and return as part of the search request.
      Parameters:
      fetchField - defining the field name, optional format and optional inclusion of unmapped fields
    • scriptField

      public SearchSourceBuilder scriptField(String name, Script script)
      Adds a script field under the given name with the provided script.
      Parameters:
      name - The name of the field
      script - The script
    • scriptField

      public SearchSourceBuilder scriptField(String name, Script script, boolean ignoreFailure)
      Adds a script field under the given name with the provided script.
      Parameters:
      name - The name of the field
      script - The script
    • scriptFields

      public List<SearchSourceBuilder.ScriptField> scriptFields()
      Gets the script fields.
    • indexBoost

      public SearchSourceBuilder indexBoost(String index, float indexBoost)
      Sets the boost a specific index or alias will receive when the query is executed against it.
      Parameters:
      index - The index or alias to apply the boost against
      indexBoost - The boost to apply to the index
    • indexBoosts

      public List<SearchSourceBuilder.IndexBoost> indexBoosts()
      Gets the boost a specific indices or aliases will receive when the query is executed against them.
    • stats

      public SearchSourceBuilder stats(List<String> statsGroups)
      The stats groups this request will be aggregated under.
    • stats

      public List<String> stats()
      The stats groups this request will be aggregated under.
    • ext

      public SearchSourceBuilder ext(List<SearchExtBuilder> searchExtBuilders)
    • ext

      public List<SearchExtBuilder> ext()
    • isSuggestOnly

      public boolean isSuggestOnly()
      Returns:
      true if the source only has suggest
    • pointInTimeBuilder

      public PointInTimeBuilder pointInTimeBuilder()
      Returns the point in time that is configured with this query
    • pointInTimeBuilder

      public SearchSourceBuilder pointInTimeBuilder(PointInTimeBuilder builder)
      Specify a point in time that this query should execute against.
    • runtimeMappings

      public Map<String,Object> runtimeMappings()
      Mappings specified on this search request that override built in mappings.
    • runtimeMappings

      public SearchSourceBuilder runtimeMappings(Map<String,Object> runtimeMappings)
      Specify the mappings specified on this search request that override built in mappings.
    • rewrite

      public SearchSourceBuilder rewrite(QueryRewriteContext context) throws IOException
      Rewrites this search source builder into its primitive form. e.g. by rewriting the QueryBuilder. If the builder did not change the identity reference must be returned otherwise the builder will be rewritten infinitely.
      Specified by:
      rewrite in interface Rewriteable<SearchSourceBuilder>
      Throws:
      IOException
    • shallowCopy

      public SearchSourceBuilder shallowCopy()
      Create a shallow copy of this builder with a new slice configuration.
    • parseXContent

      public void parseXContent(org.elasticsearch.common.xcontent.XContentParser parser) throws IOException
      Throws:
      IOException
    • parseXContent

      public void parseXContent(org.elasticsearch.common.xcontent.XContentParser parser, boolean checkTrailingTokens) throws IOException
      Parse some xContent into this SearchSourceBuilder, overwriting any values specified in the xContent. Use this if you need to set up different defaults than a regular SearchSourceBuilder would have and use fromXContent(XContentParser, boolean) if you have normal defaults.
      Parameters:
      parser - The xContent parser.
      checkTrailingTokens - If true throws a parsing exception when extra tokens are found after the main object.
      Throws:
      IOException
    • innerToXContent

      public org.elasticsearch.common.xcontent.XContentBuilder innerToXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws IOException
      Throws:
      IOException
    • toXContent

      public org.elasticsearch.common.xcontent.XContentBuilder toXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws IOException
      Specified by:
      toXContent in interface org.elasticsearch.common.xcontent.ToXContent
      Throws:
      IOException
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toString

      public String toString(org.elasticsearch.common.xcontent.ToXContent.Params params)