查询多个术语的有效方法



我正在尝试查询返回多个文档的完全匹配字段。我不确定以下哪个选项更有效。

选项

1:仅使用简单的术语查询,选项 2:在布尔值内 OR 中,选项 3:在查询中筛选查询

"query": {
    "terms": {
      "filed01.name": [
        "ABC",
        "DEF"
      ]
    }
  }
Option 2:
"query": {
    "bool": {
      "should": [
        {
          "match": {
            "field01.name": "ABC"
          }
        },
        {
          "match": {
            "field01.name": "DEF"
          }
        }
      ]
    }
  }
Option 3:
{
  "query": {
    "bool": {
      "filter": {
        "terms": {
          "field01.name": [
            "ABC",
            "DEF"
          ]
        }
      }
    }
  }
}```

我建议使用查询+过滤器+术语,因为您希望与ABC或DEF中的任何一个完全匹配。

最新更新