Apache solr - 更像是这个分数

时间:2012-12-03 14:58:29

标签: apache solr

我有一个包含大约1000个文档的小索引,只有两个字段: - id(字符串) - content(text_general)

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

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

/mlt/?q=content:Some encoded long text&mlt.fl=content

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

2 个答案:

答案 0 :(得分:0)

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

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

有关参数的说明,请参阅http://wiki.apache.org/solr/MoreLikeThis。我认为使用一个小索引mindf可能很重要,我看到默认的mintf(术语频率)是2,所以我假设一个ID只有一个术语,所以这可能被忽略了!

答案 1 :(得分:0)

首先,Solr More-Like-This如何运作?

  1. 进行常规的Solr查询(例如“?q =内容:某些编码的长文本& .....”。
  2. 对于上述查询返回的每个文档,更像是这样的行为更像是这个查询...... 因此,第一个结果集“响应”,就像任何Solr查询结果集一样。 More-Like-This出现在下面,从类似的东西开始(Json格式): “moreLikeThis”:{ “57375”:{ “numFound”:18155, “开始”:0, “文档”:[“
  3. 有关更像此算法的解释,请阅读: http://blog.brattland.no/node/18 并且:http://cephas.net/blog/2008/03/30/how-morelikethis-works-in-lucene/

    如果你还没有解决问题,请告诉我,我会指导你。