匹配字段1大于字段2的文档

时间:2015-11-27 06:39:24

标签: elasticsearch

doc1 = {
    "field1": 34,
    "field2": 15
}
doc2 = {
    "field1": 12,
    "field2": 46
}

如何匹配字段1大于字段2的所有文档。 在上述情况下,搜索将导致仅匹配doc1。

1 个答案:

答案 0 :(得分:1)

您可以使用可以直接比较字段的script filter

{
  "query": {
    "filtered": {
      "filter": {
        "script": {
          "script": "doc.field1.value > doc.field2.value"
        }
      }
    }
  }
}

请注意,要使其正常工作,您需要enable dynamic scripting