【发布时间】:2023-03-29 15:22:01
【问题描述】:
我有一些模糊查询,如下所示 -
MatchQueryBuilder fuzzyQuery = QueryBuilders.matchQuery("color","blue color").fuzziness(Fuzziness.AUTO).fuzzyTranspoistions(true);
BoolQueryBuilder bool = new BoolQueryBuilder();
bool.should(fuzzyQuery);
SeachSourceBuilder search = new SearchSourceBuilder();
search.query(bool);
SearchRequest searchRequest = new SearchRequest(<index>,<type>)
searchRequest .source(search)
SearchResponse res = client.search(searchRequest,RequestOptions.DEFAULT);
'res' 从弹性搜索中返回一些记录,其中列 'color' 的值类似于字符串 'blue color'。
现在有什么方法可以确定是否有任何结果记录包含字段“color”,其确切值为“blue color”?
谢谢。
【问题讨论】:
-
考虑使用命中分数(更高的完美匹配)
-
感谢您的回复。是的,我已经尝试过命中分数。但据我所见,我们没有完美匹配的准确共同命中得分值。所以命中分数最高的记录是最接近的匹配记录,但不一定完全匹配。
标签: elasticsearch fuzzy-search