1

当使用匹配所有查询 (* : *) 发出相同的查询时,我总是得到不同的集群和分数。可能是什么原因?

第一次尝试:

label: "В Минске"
score: 52.79549568196028

第二次尝试:

label: "В Минске"
"score": 54.74385944060893

第三次尝试:

label: "В Минске"
"score": 48.884082925408734

集群内的文档 ID 也不同。集群本身发生变化:在一个查询响应中,我得到一个集群“тысячамиевро”,在随后的一个中它消失了,但出现了新集群:“Тысячами Долларов”

是否有一些胡萝卜参数可以使给定查询的集群稳定?可能是期望的ClusterCountBase 吗?

Solr 索引对于所有情况都是相同的。使用的算法:org.carrot2.clustering.lingo.LingoClusteringAlgorithm with StopWordLabelFilter.enabled=false 和 clustering.rows=1000。

4

1 回答 1

2

看来我找到了原因:

  • 在索引中,每份文件都有重复,只有一个区别:一份有出版日期,另一份没有。
  • 同时,我的日期过滤器无法正常工作,因为发布日期被错误地标记在每个文档上,并且具有倒数排名的排名函数每次都可能返回前 1000 个不同的文档(如果不查看 Solr 源,这部分很难调试代码)
  • 集群模块会得到稍微不同的文档集=>集群会改变。然而,人们可以看到最突出的集群(按大小)仍然是稳定的,只有分数在变化。不太突出的集群可以在请求之间被其他不太突出的集群替换。

我不知道这是否仍然是一个错误,但是从索引中删除所有文档并将它们放回正确的发布日期已经解决了这个问题。

于 2018-11-01T21:32:00.527 回答