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<?>>
Script sort builder allows to sort based on a custom script expression.
-
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
Modifier and TypeFieldDescriptionstatic String
static org.elasticsearch.common.xcontent.ParseField
static org.elasticsearch.common.xcontent.ParseField
static org.elasticsearch.common.xcontent.ParseField
Fields inherited from class org.elasticsearch.search.sort.SortBuilder
NESTED_FILTER_FIELD, NESTED_PATH_FIELD, order, ORDER_FIELD
Fields inherited from interface org.elasticsearch.index.query.Rewriteable
MAX_REWRITE_ROUNDS
Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS
-
Constructor Summary
ConstructorDescriptionRead from a stream.ScriptSortBuilder(Script script, ScriptSortBuilder.ScriptSortType type)
Constructs a script sort builder with the given script. -
Method Summary
Modifier and TypeMethodDescriptionbuild(SearchExecutionContext context)
Create a SortFieldAndFormat from this builder.buildBucketedSort(SearchExecutionContext context, BigArrays bigArrays, int bucketSize, BucketedSort.ExtraData extra)
Create a BucketedSort which is useful for sorting inside of aggregations.boolean
static ScriptSortBuilder
fromXContent(org.elasticsearch.common.xcontent.XContentParser parser, String elementName)
Deprecated.Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)
and retrieve withgetNestedSort()
Returns theNestedSortBuilder
Returns the name of the writeable objectint
hashCode()
Rewrites this instance based on the provided context.script()
Get the script used in this sort.setNestedFilter(QueryBuilder nestedFilter)
Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)
and retrieve withgetNestedSort()
setNestedPath(String nestedPath)
Deprecated.set nested sort withsetNestedSort(NestedSortBuilder)
and retrieve withgetNestedSort()
setNestedSort(NestedSortBuilder nestedSort)
Sets theNestedSortBuilder
to be used for fields that are inside a nested object.sortMode()
Get the sort mode.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.MIN
andSortMode.MAX
org.elasticsearch.common.xcontent.XContentBuilder
toXContent(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params builderParams)
type()
Get the type used in this sort.void
writeTo(StreamOutput out)
Write this into the StreamOutput.Methods inherited from class org.elasticsearch.search.sort.SortBuilder
buildSort, fromXContent, order, order, parseNestedFilter, resolveNested, resolveNested, toString
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
-
NAME
- See Also:
- Constant Field Values
-
TYPE_FIELD
public static final org.elasticsearch.common.xcontent.ParseField TYPE_FIELD -
SCRIPT_FIELD
public static final org.elasticsearch.common.xcontent.ParseField SCRIPT_FIELD -
SORTMODE_FIELD
public static final org.elasticsearch.common.xcontent.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.STRING
orScriptSortBuilder.ScriptSortType.NUMBER
-
ScriptSortBuilder
Read from a stream.- Throws:
IOException
-
-
Method Details
-
writeTo
Description copied from interface:Writeable
Write this into the StreamOutput.- Throws:
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.MIN
andSortMode.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.set nested sort withsetNestedSort(NestedSortBuilder)
and retrieve withgetNestedSort()
Gets the nested path. -
getNestedSort
Returns theNestedSortBuilder
-
setNestedSort
Sets theNestedSortBuilder
to be used for fields that are inside a nested object. TheNestedSortBuilder
takes 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 IOException- Throws:
IOException
-
fromXContent
public static ScriptSortBuilder fromXContent(org.elasticsearch.common.xcontent.XContentParser parser, 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:SortBuilder
Create a SortFieldAndFormat from this builder.- Specified by:
build
in classSortBuilder<ScriptSortBuilder>
- Throws:
IOException
-
buildBucketedSort
public BucketedSort buildBucketedSort(SearchExecutionContext context, BigArrays bigArrays, int bucketSize, BucketedSort.ExtraData extra) throws IOExceptionDescription copied from class:SortBuilder
Create a BucketedSort which is useful for sorting inside of aggregations.- Specified by:
buildBucketedSort
in classSortBuilder<ScriptSortBuilder>
- Throws:
IOException
-
equals
-
hashCode
public int hashCode() -
getWriteableName
Description copied from interface:NamedWriteable
Returns the name of the writeable object -
rewrite
Description copied from interface:Rewriteable
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:
IOException
-
setNestedSort(NestedSortBuilder)
and retrieve withgetNestedSort()