1

我有一个包含约 1000 个文档的小索引,只有两个字段: - id(字符串) - 内容(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

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

4

2 回答 2

0

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

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

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

于 2012-12-04T09:08:19.790 回答
0

首先,Solr More-Like-This 是如何工作的?

  1. 执行常规 Solr 查询(例如“?q=content:Somecoded long text&.....”。
  2. 对于上述查询返回的每个文档,More-Like-This 进行 More like this 查询...所以,第一个结果集“响应”,就像任何 Solr 查询结果集一样。More-Like-This 出现在下面并以类似的内容开头(Json 格式): "moreLikeThis":{ "57375":{"numFound":18155,"start":0,"docs":["

有关更多类似此算法的说明,请阅读:http: //blog.brattland.no/node/18 和:http ://cephas.net/blog/2008/03/30/how-morelikethis-works- in-lucene/

如果您还没有解决问题,请告诉我,我将指导您完成。

于 2013-08-06T11:27:54.867 回答