我们目前正在建立一个最好的"我们记录列表的方法,我们要求根据地理距离和评级对记录进行排序。
例如,距离为0-1Km的记录将根据较高的评级进行排序,1-2km的记录也将按较高的评级进行排序。但任何记录的地理距离为0.95公里,等级为7,另一记录的地理距离为1.1公里,评级为9.距离为0.95公里的记录将排在首位。因此,距离按1Km距离分组,然后根据评级对其进行排序。
如何直接在elasticsearch上应用此功能。我想它需要自定义排序脚本吗?
答案 0 :(得分:1)
你可以试试这个:
按照'评分'
对所有结果进行排序http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html
应用地理距离agg:
在geo agg中,嵌入顶部命中以查看实际结果:
如果这不会导致每个地理位置区域中的热门排名按“等级排序”进行排序,则将查询设为一个功能得分查询,其得分仅为评分。
http://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html