Moh*_*itt 17 wildcard querydsl elasticsearch booleanquery
我正在尝试使用术语过滤器过滤文档.我不知道如何在过滤器中引入通配符.我试过这样的事情:
"filter":{
"bool":{
"must":{
"terms":{
"wildcard" : {
"aircraft":[
"a380*"
]
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到了SearchParseException.有没有办法在过滤器框架中使用通配符?
Val*_*Val 25
但是,terms
过滤器不支持通配符,但查询也是如此.请尝试此查询
{
"query": {
"bool": {
"must": {
"wildcard": {
"aircraft": "a380*"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您绝对需要使用过滤器,也可以尝试使用过滤regexp
器:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": {
"regexp": {
"aircraft": "a380.*"
}
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)