使用以下查询时弹出搜索没有返回结果。
{
"query":{
"filtered":{
"query":{
"bool":{
"should":[
{
"query_string":{
"query":"a*",
"analyze_wildcard":true
}
}
]
}
}
}
}
}
当我使用" al *"而不是" a *",我得到了正确的结果。这是发生在" a *"只要。当我使用任何其他像" b *"或" c *"等,结果是正确的
我使用的是elasticsearch版本0.90.12
答案 0 :(得分:0)
这是因为a
是一个停用词,会被分析查询的标准分析器消除。您可以通过指定其他分析器来解决此问题,例如keyword
而不是使用standard
分析器。另一种方法是将analyze_wildcard
设置为false
。
{
"query":{
"filtered":{
"query":{
"bool":{
"should":[
{
"query_string":{
"query":"a*",
"analyze_wildcard":true,
"analyzer": "keyword"
}
}
]
}
}
}
}
}