gpt4 book ai didi

java - Solr 中的评分

转载 作者:行者123 更新时间:2023-12-01 12:35:25 24 4
gpt4 key购买 nike

根据两个字符串匹配的百分比计算 solr 分数。

例如:如果我搜索 ABDUL,那么与该搜索字符串相似的结果的分数应该更高,依此类推。

我的应用程序的示例输出是:输出名称分数阿卜杜勒·阿齐兹·兰提西 2.218595
阿卜杜勒·侯赛因·阿巴斯 2.218595
阿卜杜勒·卡德尔·易卜拉欣·穆罕默德 2.218595

我无法弄清楚这个分数是如何分配给这些结果的,如果我需要更改分数,那么我该如何修改这个分数。我已经浏览过这个链接http://lucene.apache.org/core/3_6_0/scoring.html

最佳答案

我认为您不应该考虑实际分数,而应该考虑分数如何影响所呈现的结果。

默认情况下,Solr 会精确匹配术语(因为这是索引最擅长的)。通常,您可以通过在索引和查询时转换数据来解决此问题,例如语音搜索 - 您可以索引字段的语音版本以及普通字段,然后使用常规文本和转换后的语音进行查询文本的版本。最有用的非精确命中通常是使用语音搜索产生的,其中语音字段的得分低于精确字段的得分。请记住使用适合您要索引的内容类型(名称/一般文本/等)和您要索引的语言的语音算法。

但是,您也可以执行模糊搜索,其中您可以使用 term~[0-1] 调整决定命中的相似性因子(如果您省略 0 到 0 之间的值) 1,使用0.5)。这可能足以满足您的需要,并且您可以调整该值以允许应用程序所需的模糊性。

您还可以使用 SpellChecker 组件来获取与查询内容最接近的术语,使用不同的计算“接近度”的方法(因为“相似百分比”的解释相当开放),例如 levenshtein。

关于java - Solr 中的评分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25642287/

24 4 0
文章推荐: java - "List"和 "String"强制转换声明问题