es dsl wildcard多个值 怎么写
时间: 2023-07-04 17:27:41 浏览: 169
es-dsl-cheatsheet:Elasticsearch 查询 DSL 备忘单
如果你想在Elasticsearch的DSL中使用通配符(wildcard)匹配多个值,可以使用布尔查询(bool query)和多个通配符查询(wildcard query)的组合来实现。例如,假设你想要匹配字段名为"field1",值为"value1"、"value2"、"value3"中的任意一个的文档,可以使用以下DSL语句:
```
{
"query": {
"bool": {
"should": [
{ "wildcard": { "field1": "value1*" } },
{ "wildcard": { "field1": "value2*" } },
{ "wildcard": { "field1": "value3*" } }
]
}
}
}
```
在上述DSL中,bool查询的should子句指定了三个wildcard查询,每个查询都以不同的通配符模式匹配"field1"的值。由于should子句使用了默认的OR运算符,因此只要有一个wildcard查询匹配,就会返回对应的文档。
阅读全文