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)
该代码可以给每一个词相匹配的结果,但它不做世界所产生复数。
我也尝试了几种不同于默认值的分析器,比如“雪球”,“法语”。奇怪的是,他们不会为某些单词返回完美匹配的结果。
任何人都可以找到解决办法吗?
可能更改UTF编码可能会起作用。你也可以尝试过滤器来搜索特定的文档和字段。 – KayV