0
Elasticsearch在查询时使用以下方式返回无结果。Elasticsearch使用通配符进行query_string搜索
{
"query":{
"filtered":{
"query":{
"bool":{
"should":[
{
"query_string":{
"query":"a*",
"analyze_wildcard":true
}
}
]
}
}
}
}
}
当我使用 “人*” 代替 “A *”,我得到正确的结果。这只发生在“a *”上。当我使用的任何其他人一样“B *”或“c *”等的结果是正确的
我使用elasticsearch版本0.90.12
感谢您的回复。你能解释一下上面查询中的“a。*”是如何搜索的。我有一个记录“A.J. Satya”,并且在上面的查询中使用“a。*”进行搜索时不会返回。 – tungri
问题是在索引时间值'A. J. Satya'会被标记为标记'j'和'satya',因为'a'是一个英语停用词并被丢弃。您可能还需要在索引时间更改您使用的分析仪。 – Val
感谢您的解释。 – tungri