JsonObject to SortBuilder object

I would like to turn an arbitrary JsonObject (which presumably follows the
Search/Sort DSL into a SortBuilder which can then be passed to the
SearchRequestBuilder::addSort.

I've gotten this to work by simple parsing the JsonObject myself and
calling the appropriate calls in the SortBuilder, but that means that I
have to implement the parsing for every variation of the DSL.

If I've got a Java JsonObject that looks like:

{
"first_name": "asc"
}

OR

{
"first_name": {
"order": "asc"
}
}

OR

{
"_geo_distance":{
"my_position":{
"order": "asc"
}
}
}

All of which are valid Json for the sort, I would imagine there's a way to
call:

JsonObject sort_json =
SortBuilder sort = new SortBuilder()
sort.setSort(sort_json);

I'm almost certain I'm missing something but can't for the life of me
figure out how to do it.

Thanks in advance.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/c09c4e67-68fe-4552-9161-eca139264511%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Here's a simpler way to ask the question:

I've got this:

GeoDistanceSortBuilder sorter = new
GeoDistanceSortBuilder("values.geo_location");
sorter.point(0.0, 0.0);
sorter.order(SortOrder.DESC);
sorter.unit(DistanceUnit.KILOMETERS);
sorter.geoDistance(GeoDistance.PLANE);
sorter.toString()

Which produces the string

"_geo_distance"{
"values.geo_location" : [ 0.0, 0.0 ],
"unit" : "km",
"distance_type" : "plane",
"reverse" : true
}

I would like to do the opposite. I have the above string, and I want to
turn it into a GeoDistanceSortBuilder without having to manually parse it.

On Monday, January 19, 2015 at 7:50:17 PM UTC-5, Alex Thurston wrote:

I would like to turn an arbitrary JsonObject (which presumably follows the
Search/Sort DSL into a SortBuilder which can then be passed to the
SearchRequestBuilder::addSort.

I've gotten this to work by simple parsing the JsonObject myself and
calling the appropriate calls in the SortBuilder, but that means that I
have to implement the parsing for every variation of the DSL.

If I've got a Java JsonObject that looks like:

{
"first_name": "asc"
}

OR

{
"first_name": {
"order": "asc"
}
}

OR

{
"_geo_distance":{
"my_position":{
"order": "asc"
}
}
}

All of which are valid Json for the sort, I would imagine there's a way to
call:

JsonObject sort_json =
SortBuilder sort = new SortBuilder()
sort.setSort(sort_json);

I'm almost certain I'm missing something but can't for the life of me
figure out how to do it.

Thanks in advance.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/a756b6b3-7e28-44f7-be88-e8d6e102b6e5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.