弹性搜索排序 - 响应中返回排序场



我需要将排序配置作为响应的一部分,所以假设我有这个查询

{ sort: [ {"name":"asc"},{"age:"descr"}]}

我需要将此作为响应的一部分,以使我的方面/UI状态与该分类同步。我看到有一个"排序"响应字段,但基本上列出了已选择的值,但不是哪个字段和哪种类型。

阅读文档,我不确定是否应该是https://www.elastic.co/guide/en/elasticsearch/reference/reference/current/search-request-sort.html#_sort_sort_values

在网络中找不到有关此内容的任何内容,其中许多如何对示例进行排序,也没有在堆栈上,但没有关于如何反映响应中的那种。

如果很重要,我目前正在使用Elasticsearch 2.4

实际上这是不可能的。

我使用中间件解决了这一点。因此,当客户想在ES上搜索时,它会发生这种方式

client -> middleware -> ES

要在响应中包含排序,中间件可以做类似的事情

result = es.search(query)
result['sort'] = query['sort'] if query.key?('sort')
return result

因此,我将sort字段从请求复制到响应中,这实际上对客户端非常有用,在处理聚合/刻面搜索

时,这对客户端非常有用。

最新更新