Elasticsearch通过嵌套聚合的结果进行过滤

时间:2019-01-09 11:15:04

标签: elasticsearch

说我们有以下带有嵌套保留属性的项目索引。每个项目都有一个数量属性,可以在其中指定拥有多少库存。

创建一个基于商品标题和描述搜索关键字的查询很容易,但是我不知道如何创建查询来满足以下语句“我需要知道谁在1月1日到1月1日之间可以使用轮椅1月10日。“

首先,我检查标题和描述中是否有轮椅,然后对于每个项目,我需要对1月1日至10日的所有预订进行汇总,然后将其减去该项目的数量,以了解该项目是否可用。 / p>

这如何转换为Elasticsearch查询?

PUT items
{
  "mappings": {
    "default": {
      "properties": {
        "owner": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "title": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "fullDescription": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "quantity": {
          "type": "long"
        },
        "reservations": {
          "type": "nested",
          "properties": {
            "endDate": {
              "type": "date",
              "format": "date_optional_time"
            },
            "quantity": {
              "type": "long"
            },
            "startDate": {
              "type": "date",
              "format": "date_optional_time"
            }
          }
        }
      }
    }
  }
}

0 个答案:

没有答案