ApacheSolr-更像这个分数

ApacheSolr-更像这个分数,apache,solr,Apache,Solr,我有一个小索引,包含约1000个文档,只有两个字段: -id字符串 -内容文本\u概述 我注意到,当我按id进行MLT搜索类似内容时,id为搜索id的原始文档的得分为5.241327。 存在1:1的重复文档,对于重复内容,它返回的分数为1.5258181。为什么?当它是100%重复时,为什么它不是5.241327 另一个问题是,我可以通过在查询中传递一些文本,以任何方式通过内容获得相似性文档。 例如: 我正在尝试检查是否上传了类似的内容,检查必须在新内容上传时执行。可能值得尝试一些不同的参数。我

我有一个小索引,包含约1000个文档,只有两个字段: -id字符串 -内容文本\u概述

我注意到,当我按id进行MLT搜索类似内容时,id为搜索id的原始文档的得分为5.241327。 存在1:1的重复文档,对于重复内容,它返回的分数为1.5258181。为什么?当它是100%重复时,为什么它不是5.241327

另一个问题是,我可以通过在查询中传递一些文本,以任何方式通过内容获得相似性文档。 例如:


我正在尝试检查是否上传了类似的内容,检查必须在新内容上传时执行。

可能值得尝试一些不同的参数。我也只在一个字段上使用MLT,我使用以下参数:

'mlt.boost':'true', 'mlt.fl':'my_field_name', 'mlt.maxqt':1000, “mlt.mindf”:“0”, “mlt.mintf”:“0”, “qt”:“mlt”, “行”:“10”


有关参数的说明,请参阅。我认为使用一个小索引mindf可能很重要,我看到默认的mintf术语频率是2,所以我假设一个ID只有一个术语,所以这可能会被忽略

首先,Solr是如何工作的

执行常规Solr查询,例如?q=内容:一些编码的长文本&。。。。。。 对于上述查询返回的每个文档,越像这样执行越像这样的查询。。。 因此,第一个结果集响应与任何Solr查询结果集一样。 下面将显示更类似的内容,并以类似于Json格式的内容开始: 更重要的是:{ 57375:{numFound:18155,start:0,docs:[ 有关类似于此算法的解释,请阅读: 以及:


如果您还没有解决问题,请让我知道,我会指导您。

查询此:结果:那么我如何知道搜索内容是相似的,即使分数为0.001,它也会返回匹配。我的目标是找到至少50%或更多相同的内容。当我查看更相似的结果时,这不是第一个元素nt“response”,但第二个我看到两个高分3.564和3.559,ID为281和111,一个非常低的分数0.018,ID为131。这不是你所期望的吗?我很困惑。你能告诉我你是否知道如何让solr返回与我传递给查询的内容至少50%相似的文档吗?通常是长文本-至少是least 1000个字符。或者如果solr只返回true或false“是,有类似的文档”或“否,没有类似的文档”,它也适用。我要注意的是,我发现solr当前正在运行布尔查询,因为文本被转换为if+you+have+some+tool…换句话说,空格被替换为+,并且在日志中我遇到异常telling表示最大条件1024过热。这可能是不返回正确结果的原因:S
/mlt/?q=content:Some encoded long text&mlt.fl=content