如何将需要的 SQL 查询转换为 Elastic DSL

How convert needed SQL query to Elastic DSL

我有一个包含 19 个映射字段的索引,我需要用这样的查询来查询它:

SELECT * 
FROM my-index 
WHERE field1 IN (value1, value2) 
  AND field2 IN (valueX, valueY, valueZ) 
  AND *anyOfThe19Fields* 
CONTAINS '2-f2d2cd00-8990-11ec-95bc-000d3a2d1528';

我真的不知道如何用一个查询实现类似的东西。

谢谢你的帮助,谢谢

根据您的 SQL 查询,您需要使用此 elasticsearch 查询

{
  "query": {
    "bool": {
      "must": [
        {
          "terms": {
            "field1": [
              "value1",
              "value2"
            ]
          }
        },
        {
          "terms": {
            "field2": [
              "valueX",
              "valueY",
              "valueZ"
            ]
          }
        },
        {
          "multi_match": {
            "query": "2-f2d2cd00-8990-11ec-95bc-000d3a2d1528"
          }
        }
      ]
    }
  }
}