Class SliceBuilder

  • All Implemented Interfaces:
    Writeable, ToXContent, ToXContentObject

    public class SliceBuilder
    extends java.lang.Object
    implements Writeable, 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.
    • Field Detail

      • FIELD_FIELD

        public static final ParseField FIELD_FIELD
      • ID_FIELD

        public static final ParseField ID_FIELD
      • MAX_FIELD

        public static final ParseField MAX_FIELD
    • Constructor Detail

      • 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 Detail

      • 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.
      • fromXContent

        public static SliceBuilder fromXContent​(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​(ClusterService clusterService,
                                                       ShardSearchRequest request,
                                                       QueryShardContext context,
                                                       Version minNodeVersion)
        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