如何查找其子文档包含总计值的字段的文档?

时间:2016-06-02 10:34:11

标签: elasticsearch

一本书系列有很多书。一本书有很多页面。

{
  "name": "Harry Potter",
  "books": [
    {
      "title": "Harry Potter and the Philosopher's Stone",
      "page_count": 100
    },
    {
      "title": "Harry Potter and the Chamber of Secrets",
      "page_count": 100
    }
  ]
}

{
  "name": "The Long Earth",
  "books": [
    {
      "title": "The Long Earth",
      "page_count": 150
    },
    {
      "title": "The Long Mars",
      "page_count": 150
    }
  ]
}

我索引了一些书系列。

"The Long Earth"

我想找到所有系列丛书,其中该系列图书的总页数大于或等于250.此查询应返回"Harry Potter"系列,其总页数为300,但不是#python2 def CompTurn(): RandTurn = [Column1,Column2,Column3,Column4] Choice = random.choice(RandTurn) return(Choice) print Choice 系列,总共只有200页。

如何构建此类查询?

据我所知,嵌套查询只允许您查看单个嵌套文档(例如,查找至少包含一本超过120页的图书的系列)。我以前从未使用过得分(仅使用二进制查询),而我开始认为可能会得到答案......

1 个答案:

答案 0 :(得分:1)

看看nested aggregations。您将要对其应用嵌套和汇总和过滤。