我使用WildcardQuery成功搜索英语单词。但是,当我 搜索中文单词,无法正确搜索结果。
例如,我有一个字符串是“中文字”。如果我搜索“文”,则显示该词 正确地。但是,当我搜索“中文”时,无法显示此结果。
带有elasticsearch-rest-high-level-client的Java代码以生成查询
BoolQueryBuilder search = QueryBuilders.boolQuery();
search.should(QueryBuilders.wildcardQuery("firstName", customerFilter.getSearch().toLowerCase()));
search.should(QueryBuilders.wildcardQuery("lastName", customerFilter.getSearch().toLowerCase()));
Kibana - elasticsearch query
GET /customers/_search
{
"from":0,
"size":5,
"timeout":"60s",
"query":{
"bool":{
"must":[
{
"bool":{
"should":[
{
"wildcard":{
"firstName":{
"wildcard":"孙虞"
}
}
}
]
}
}
],
"adjust_pure_negative":true,
"boost":1.0
}
}
}
未显示结果