簡體   English   中英

Elasticsearch嵌套查詢匹配和/或

[英]Elasticsearch Nested Query matching and/or

例如,我的數據包含以下內容:

{
  author: "test",
  books: [
    {
      name: "first book",
      cost: 50
    },
    {
      name: "second book",
      cost: 100
    }
  ]
}

我想搜索擁有所有cost > 40書籍的作者。 該查詢的外觀如何? 實地books被映射為nested property

對於一本書的價格大於40(按點擊數)的作者姓名,可以使用以下查詢方式

POST http://192.168.0.68:9200/library/Book/_search
{
   "fields": ["author"], 
   "query": {
      "filtered": {
         "query": {
            "match_all": {}
         },
         "filter": {
            "nested": {
               "path": "books",
               "filter": {
                  "range": {
                     "books.cost": {
                        "gt": 40
                     }
                  }
               }
            }
         }
      }
   }
}

對於所有成本大於40的書籍,在獲得響應后,我必須在客戶端手動處理嵌套字段的集合

不確定腳本是否適用於此處以將過濾器應用於所有嵌套對象。

參考

文檔不在嵌套文檔中Elasticsearch

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM