0

我有一个这样的索引:

{
    "rentals": {
    "aliases": {},
    "mappings": {
      "rental": {
        "properties": {

         "address": {
            "type": "text"
         },

         "availability": {
            "type": "nested",
            "properties": {
                "chargeBasis": {
                   "type": "text"
                 },
                "date": {
                   "type": "date"
                },
               "isAvailable": {
                  "type": "boolean"
                },
               "rate": {
                  "type": "double"
                }
           }
       }
  }

这是我的用例:

  1. 我需要搜索具有给定地址的所有“租金”。

    • 这很容易完成
  2. 我需要为所有搜索的“租金”获取“可用性”数据;仅适用于今天的日期

    • 这是我被困的部分,我如何查询所有“出租”的嵌套文档?
4

1 回答 1

0

您需要使用嵌套查询

因为嵌套对象被索引为单独的隐藏文档,我们不能直接查询它们。相反,我们必须使用嵌套查询来访问它们。

尝试类似:

{
  "query": {
    "nested": {
      "path": "availability", 
      "query": {
        "term": {
          "availability.date": "2015-01-01"
        }
      }
    }
  }
}
于 2017-01-13T09:50:10.170 回答