Class SliceBuilder

java.lang.Object
org.elasticsearch.search.slice.SliceBuilder
All Implemented Interfaces:
Writeable, org.elasticsearch.common.xcontent.ToXContent, org.elasticsearch.common.xcontent.ToXContentObject

public class SliceBuilder
extends java.lang.Object
implements Writeable, org.elasticsearch.common.xcontent.ToXContentObject
A slice builder allowing to split a scroll in multiple partitions. If the provided field is the "_uid" it uses a TermsSliceQuery to do the slicing. The slicing is done at the shard level first and then each shard is split into multiple slices. For instance if the number of shards is equal to 2 and the user requested 4 slices then the slices 0 and 2 are assigned to the first shard and the slices 1 and 3 are assigned to the second shard. This way the total number of bitsets that we need to build on each shard is bounded by the number of slices (instead of numShards*numSlices). Otherwise the provided field must be a numeric and doc_values must be enabled. In that case a DocValuesSliceQuery is used to filter the results.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent

    org.elasticsearch.common.xcontent.ToXContent.DelegatingMapParams, org.elasticsearch.common.xcontent.ToXContent.MapParams, org.elasticsearch.common.xcontent.ToXContent.Params

    Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable

    Writeable.Reader<V>, Writeable.Writer<V>
  • Field Summary

    Fields
    Modifier and Type Field Description
    static org.elasticsearch.common.ParseField FIELD_FIELD  
    static org.elasticsearch.common.ParseField ID_FIELD  
    static org.elasticsearch.common.ParseField MAX_FIELD  

    Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent

    EMPTY_PARAMS
  • Constructor Summary

    Constructors
    Constructor Description
    SliceBuilder​(int id, int max)  
    SliceBuilder​(java.lang.String field, int id, int max)  
    SliceBuilder​(StreamInput in)  
  • Method Summary

    Modifier and Type Method Description
    boolean equals​(java.lang.Object other)  
    static SliceBuilder fromXContent​(org.elasticsearch.common.xcontent.XContentParser parser)  
    java.lang.String getField()
    The name of the field to slice against
    int getId()
    The id of the slice.
    int getMax()
    The maximum number of slices.
    int hashCode()  
    org.apache.lucene.search.Query toFilter​(ShardSearchRequest request, SearchExecutionContext context)
    Converts this QueryBuilder to a lucene Query.
    java.lang.String toString()  
    org.elasticsearch.common.xcontent.XContentBuilder toXContent​(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)  
    void writeTo​(StreamOutput out)
    Write this into the StreamOutput.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentObject

    isFragment
  • Field Details

    • FIELD_FIELD

      public static final org.elasticsearch.common.ParseField FIELD_FIELD
    • ID_FIELD

      public static final org.elasticsearch.common.ParseField ID_FIELD
    • MAX_FIELD

      public static final org.elasticsearch.common.ParseField MAX_FIELD
  • Constructor Details

    • SliceBuilder

      public SliceBuilder​(int id, int max)
    • SliceBuilder

      public SliceBuilder​(java.lang.String field, int id, int max)
      Parameters:
      field - The name of the field
      id - The id of the slice
      max - The maximum number of slices
    • SliceBuilder

      public SliceBuilder​(StreamInput in) throws java.io.IOException
      Throws:
      java.io.IOException
  • Method Details

    • writeTo

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

      public java.lang.String getField()
      The name of the field to slice against
    • getId

      public int getId()
      The id of the slice.
    • getMax

      public int getMax()
      The maximum number of slices.
    • toXContent

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

      public static SliceBuilder fromXContent​(org.elasticsearch.common.xcontent.XContentParser parser) throws java.io.IOException
      Throws:
      java.io.IOException
    • equals

      public boolean equals​(java.lang.Object other)
      Overrides:
      equals in class java.lang.Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class java.lang.Object
    • toFilter

      public org.apache.lucene.search.Query toFilter​(ShardSearchRequest request, SearchExecutionContext context)
      Converts this QueryBuilder to a lucene Query.
      Parameters:
      context - Additional information needed to build the query
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object