查询多个词条的有效方法

时间:2019-07-10 19:04:12

标签: elasticsearch

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

选项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"
          ]
        }
      }
    }
  }
}```

1 个答案:

答案 0 :(得分:0)

我建议您使用query + filter + terms,因为您希望与ABC或DEF中的任何一个完全匹配。