elasticsearch spring不会返回完全匹配

时间:2016-07-27 08:12:15

标签: java spring elasticsearch

我正在使用Java API上的弹性搜索进行全文搜索。对象是将查询String的每个单词与字段(Operator And)匹配,并能够识别和匹配复数形式的单词。

例如:

Four salé应找到Fours salés,同时找不到Four sucré。 (我的文件用法语)

我已经尝试了几种解决方法:

QueryBuilders.matchQuery("field",queryValue)

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

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

此代码可以提供与每个单词匹配的结果,但它不会产生复数的世界。

我还尝试了几种与默认分析仪不同的分析仪,例如" snowball"," french"。奇怪的是,他们不会为某些单词返回完美匹配的结果。

有人能找到解决方法吗?

1 个答案:

答案 0 :(得分:0)

如果您想要与字段完全匹配,则应将字段设为not_analyzed。结帐:https://www.elastic.co/guide/en/elasticsearch/guide/current/_finding_exact_values.html#_term_query_with_text