elasticsearch - 基于两个值的Elasticsearch查询

标签 elasticsearch

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

可以说文档具有以下结构:

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

我想查询此类文档并查找 customer_payment_timestamp 大于 customer_delivery_timestamp 的所有文档。

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

最佳答案

您可以使用 script filter这样实现:

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

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

关于elasticsearch - 基于两个值的Elasticsearch查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38977551/

相关文章:

java - 在Elasticsearch上删除/更新文档字段

elasticsearch - AWS托管的Elasticsearch域中的完全节点故障

elasticsearch - 如何在不使用 Kibana UI 的情况下将 Kibana 6 可视化导入 elasticsearch 6?

python-3.x - Elasticsearch QueryParsingException计数查询

elasticsearch - 将 ReactiveSearch 与普通的 elasticsearch 结合使用

elasticsearch - 如何将默认@timestamp添加到我的 Elasticsearch 数据中

c# - 如何避免 Elasticsearch 中的常见术语

elasticsearch - 当河流通过 Elasticsearch 更新数据时,丢失的数据会被删除吗?

jquery - 使用jQuery将数据添加到Elasticsearch索引

elasticsearch - Elasticsearch为索引设置默认字段分析器