Elasticsearch查询基于两个值

时间:2016-08-16 14:26:43

标签: elasticsearch

我正在尝试使用elasticsearch来查找基于两个doc属性的规则的文档。

让我们说这些文件有以下结构:

{
  "customer_payment_timestamp" : 14387930787,
  "customer_delivery_timestamp" : 14387230787,
}

我想查询这些类型的文档并查找 customer_payment_timestamp 大于 customer_delivery_timestamp

尝试了官方文档,但我找不到有关查询本身或预映射字段的任何相关示例......它甚至可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用script filter这样做:

POST index/_search
{
  "query": {
    "bool": {
      "filter": {
        "script": {
          "script": "doc.customer_payment_timestamp.value > doc. customer_delivery_timestamp.value"
        }
      }
    }
  }
}

注意:您需要确保dynamic scripting is enabled