在弹性搜索中排序嵌套文档

时间:2016-08-16 05:10:55

标签: elasticsearch

我在弹性搜索文档中有一个嵌套字段,包含2个字段:

?_host_Info=Word|Win32|16.01|en-US

ES文档有一个博客列表:blog1,blog2等。

我想要所有带有blob.id = x的文档,并在与该blob对应的rating字段上排序。 使用没有排名脚本的弹性搜索查询来执行此操作是否可行。请指教。

1 个答案:

答案 0 :(得分:1)

这样的事情应该做你需要的事情:

{
  "query": {
    "nested": {
      "path": "blog",
      "query": {
        "term": {
          "blog.id": 123
        }
      }
    }
  },
  "sort": [
    {
      "blog.rating": {
        "order": "asc",
        "nested_path": "blog",
        "nested_filter": {
          "term": {
            "blog.id": 123
          }
        }
      }
    }
  ]
}