Package org.elasticsearch.search.sort
Class ScriptSortBuilder
java.lang.Object
org.elasticsearch.search.sort.SortBuilder<ScriptSortBuilder>
org.elasticsearch.search.sort.ScriptSortBuilder
- All Implemented Interfaces:
NamedWriteable,Writeable,org.elasticsearch.common.xcontent.ToXContent,org.elasticsearch.common.xcontent.ToXContentObject,Rewriteable<SortBuilder<?>>
public class ScriptSortBuilder extends SortBuilder<ScriptSortBuilder>
Script sort builder allows to sort based on a custom script expression.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classScriptSortBuilder.ScriptSortTypeNested 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.ParamsNested 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 java.lang.StringNAMEstatic org.elasticsearch.common.ParseFieldSCRIPT_FIELDstatic org.elasticsearch.common.ParseFieldSORTMODE_FIELDstatic org.elasticsearch.common.ParseFieldTYPE_FIELDFields inherited from class org.elasticsearch.search.sort.SortBuilder
NESTED_FILTER_FIELD, NESTED_PATH_FIELD, order, ORDER_FIELD -
Constructor Summary
Constructors Constructor Description ScriptSortBuilder(StreamInput in)Read from a stream.ScriptSortBuilder(Script script, ScriptSortBuilder.ScriptSortType type)Constructs a script sort builder with the given script. -
Method Summary
Modifier and Type Method Description SortFieldAndFormatbuild(QueryShardContext context)Create a SortFieldAndFormat from this builder.BucketedSortbuildBucketedSort(QueryShardContext context, int bucketSize, BucketedSort.ExtraData extra)Create a BucketedSort which is useful for sorting inside of aggregations.booleanequals(java.lang.Object object)static ScriptSortBuilderfromXContent(org.elasticsearch.common.xcontent.XContentParser parser, java.lang.String elementName)QueryBuildergetNestedFilter()Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)and retrieve withgetNestedSort()java.lang.StringgetNestedPath()Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)and retrieve withgetNestedSort()NestedSortBuildergetNestedSort()Returns theNestedSortBuilderjava.lang.StringgetWriteableName()Returns the name of the writeable objectinthashCode()ScriptSortBuilderrewrite(QueryRewriteContext ctx)Rewrites this instance based on the provided context.Scriptscript()Get the script used in this sort.ScriptSortBuildersetNestedFilter(QueryBuilder nestedFilter)Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)and retrieve withgetNestedSort()ScriptSortBuildersetNestedPath(java.lang.String nestedPath)Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)and retrieve withgetNestedSort()ScriptSortBuildersetNestedSort(NestedSortBuilder nestedSort)Sets theNestedSortBuilderto be used for fields that are inside a nested object.SortModesortMode()Get the sort mode.ScriptSortBuildersortMode(SortMode sortMode)Defines which distance to use for sorting in the case a document contains multiple values.
ForScriptSortBuilder.ScriptSortType.STRING, the set of possible values is restricted toSortMode.MINandSortMode.MAXorg.elasticsearch.common.xcontent.XContentBuildertoXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params builderParams)ScriptSortBuilder.ScriptSortTypetype()Get the type used in this sort.voidwriteTo(StreamOutput out)Write this into the StreamOutput.Methods inherited from class org.elasticsearch.search.sort.SortBuilder
buildSort, fromXContent, order, order, parseNestedFilter, resolveNested, resolveNested, toString
-
Field Details
-
NAME
public static final java.lang.String NAME- See Also:
- Constant Field Values
-
TYPE_FIELD
public static final org.elasticsearch.common.ParseField TYPE_FIELD -
SCRIPT_FIELD
public static final org.elasticsearch.common.ParseField SCRIPT_FIELD -
SORTMODE_FIELD
public static final org.elasticsearch.common.ParseField SORTMODE_FIELD
-
-
Constructor Details
-
ScriptSortBuilder
Constructs a script sort builder with the given script.- Parameters:
script- The script to use.type- The type of the script, can be eitherScriptSortBuilder.ScriptSortType.STRINGorScriptSortBuilder.ScriptSortType.NUMBER
-
ScriptSortBuilder
Read from a stream.- Throws:
java.io.IOException
-
-
Method Details
-
writeTo
Description copied from interface:WriteableWrite this into the StreamOutput.- Throws:
java.io.IOException
-
script
Get the script used in this sort. -
type
Get the type used in this sort. -
sortMode
Defines which distance to use for sorting in the case a document contains multiple values.
ForScriptSortBuilder.ScriptSortType.STRING, the set of possible values is restricted toSortMode.MINandSortMode.MAX -
sortMode
Get the sort mode. -
setNestedFilter
Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)and retrieve withgetNestedSort()Sets the nested filter that the nested objects should match with in order to be taken into account for sorting. -
getNestedFilter
Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)and retrieve withgetNestedSort()Gets the nested filter. -
setNestedPath
Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)and retrieve withgetNestedSort()Sets the nested path if sorting occurs on a field that is inside a nested object. For sorting by script this needs to be specified. -
getNestedPath
@Deprecated public java.lang.String getNestedPath()Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)and retrieve withgetNestedSort()Gets the nested path. -
getNestedSort
Returns theNestedSortBuilder -
setNestedSort
Sets theNestedSortBuilderto be used for fields that are inside a nested object. TheNestedSortBuildertakes a `path` argument and an optional nested filter that the nested objects should match with in order to be taken into account for sorting. -
toXContent
public org.elasticsearch.common.xcontent.XContentBuilder toXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params builderParams) throws java.io.IOException- Throws:
java.io.IOException
-
fromXContent
public static ScriptSortBuilder fromXContent(org.elasticsearch.common.xcontent.XContentParser parser, java.lang.String elementName)- Parameters:
parser- the input parser. The state on the parser contained in this context will be changed as a side effect of this method callelementName- in some sort syntax variations the field name precedes the xContent object that specifies further parameters, e.g. in '{ "foo": { "order" : "asc"} }'. When parsing the inner object, the field name can be passed in via this argument
-
build
Description copied from class:SortBuilderCreate a SortFieldAndFormat from this builder.- Specified by:
buildin classSortBuilder<ScriptSortBuilder>- Throws:
java.io.IOException
-
buildBucketedSort
public BucketedSort buildBucketedSort(QueryShardContext context, int bucketSize, BucketedSort.ExtraData extra) throws java.io.IOExceptionDescription copied from class:SortBuilderCreate a BucketedSort which is useful for sorting inside of aggregations.- Specified by:
buildBucketedSortin classSortBuilder<ScriptSortBuilder>- Throws:
java.io.IOException
-
equals
public boolean equals(java.lang.Object object)- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()- Overrides:
hashCodein classjava.lang.Object
-
getWriteableName
public java.lang.String getWriteableName()Description copied from interface:NamedWriteableReturns the name of the writeable object -
rewrite
Description copied from interface:RewriteableRewrites 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:
java.io.IOException
-