Elasticsearch比较表达式中的字段

hs1rzwqc  于 2023-04-20  发布在  ElasticSearch
关注(0)|答案(1)|浏览(122)

Ley说我已经在ES中给出了这些类型的文档

{
    "_source": {
        "field1" : 100,
        "field2" : 200
    }
}

用什么查询来查找满足条件(field 1-fields 2〉50)的文档

I tried this
{
  "filtered": {
    "filter": {
      "script": {
        "script": "doc['field1'].value  - doc['field2'].value > 50"
      }
    }
  }
}
e5nszbig

e5nszbig1#

试试这个

{
        "query": {
            "bool": {
                "filter": {
                    "script": {
                        "script": {
                            "source": "doc['field1'].value - doc['field2'].value > 50",
                            "lang": "painless"
                        }
                    }
                }
            }
        }
    }

确保field1和field2是数值类型。如果不是,使用Integer.parse进行转换。

相关问题