Java 是否可以按附近的搜索结果对Elasticsearch聚合组进行排序?(爪哇)
我正在尝试使用Elasticsearch聚合对具有相同名称的商家进行分组,并通过我的当前位置排序 我做过类似的事情,但它只对子文档进行排序Java 是否可以按附近的搜索结果对Elasticsearch聚合组进行排序?(爪哇),java,
elasticsearch,grouping,aggregation,bucket,Java,
elasticsearch,Grouping,Aggregation,Bucket,我正在尝试使用Elasticsearch聚合对具有相同名称的商家进行分组,并通过我的当前位置排序 我做过类似的事情,但它只对子文档进行排序 POST _search{ "aggs":{ "group_by_merchantTitle":{ "terms":{ "field":"title" }, "aggs":{ "group_by_top_hits":{ "top_hits":
POST _search{
"aggs":{
"group_by_merchantTitle":{
"terms":{
"field":"title"
},
"aggs":{
"group_by_top_hits":{
"top_hits":{
"size":20,
"sort":[
{
"_geo_distance":{
"loc":[
{
"lat":3.00,
"lon":100.0
}
],
"unit":"m"
}
}
]
}
}
}
}
}
}
我想要的是它自己最靠近我的分组。你能分享你的模式映射/设置和一些示例文档吗。嗯,对文档进行分组,然后按离我最近的分组,这似乎是你的loc,它是geo类型的数据点。您是否认为这不是聚合工作的具体数据点。一个组可以有具有不同地理点的文档,那么您是如何处理的,如果您想要最近的一个,我怀疑ES没有任何功能来实现这一点。您可以共享您的架构映射/设置和一些示例文档吗。嗯,将文档分组,然后按离我最近的排序,这似乎是您的loc,即geo类型的数据点。您是否认为这不是聚合工作的具体数据点。一个组可以有具有不同地理点的文档,那么您是如何处理的,如果您想要最近的一个,我怀疑ES没有任何功能来实现这一点。