我有一个过滤器栏,因此我使用的是 query_string。我不知道用户会写什么到过滤器栏中。我还需要使用通配符搜索。
假设提交的是 attr: aaa bbb
。
当我搜索 attr:aa*
时,它起作用了。
当我搜索 attr:"aa*"
时,它起作用了。
当我搜索 attr:"aaa b*"
时,它不起作用。为什么?
我的属性有这个映射:
"attr": {
"index": true,
"type": "keyword"
},
和查询示例
{"size":1,"track_total_hits":true,"query":{"bool":{"must":[{"query_string":{"query":"attr:aaa","analyze_wildcard":true}},...