2016-07-27 175 views
0

我正在使用Java API上的弹性搜索进行全文搜索。目标是将查询字符串的每个单词与字段(运算符和)匹配,并且能够识别和匹配复数形式的单词。elasticsearch spring不返回完全匹配

对于为例:

Four salé应该找到Fours salés,同时Four sucré应该不会被发现。 (我的文档是法语)

我已经尝试了几种方法来解决这个问题:

QueryBuilders.matchQuery("field",queryValue) 

该代码可以找到一个单词的单个或复数形式,但返回匹配的词之一的所有结果queryValue。

QueryBuilders.mathcQuery("field",queryValue).operator(MatchQueryBuilder.Operator.AND) 

该代码可以给每一个词相匹配的结果,但它不做世界所产生复数。

我也尝试了几种不同于默认值的分析器,比如“雪球”,“法语”。奇怪的是,他们不会为某些单词返回完美匹配的结果。

任何人都可以找到解决办法吗?

+1

可能更改UTF编码可能会起作用。你也可以尝试过滤器来搜索特定的文档和字段。 – KayV

回答

相关问题