我需要将排序配置作为响应的一部分,所以假设我有这个查询
{ 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字段从请求复制到响应中,这实际上对客户端非常有用,在处理聚合/刻面搜索