胡萝卜:同一查询的不同群集

时间:2018-11-01 13:02:13

标签: solr carrot2

当发布具有所有匹配项(*:*)的相同查询时,我会得到不同的聚类并始终得分。可能是什么原因?

第一次尝试:

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

第二次尝试:

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

第三次尝试:

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

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

是否存在一些胡萝卜参数可以使集群对于给定查询稳定?可能是所需的ClusterCountBase吗?

所有情况下的Solr索引均相同。使用的算法:带有StopWordLabelFilter.enabled = false和clustering.rows = 1000的org.carrot2.clustering.lingo.LingoClusteringAlgorithm。

1 个答案:

答案 0 :(得分:2)

看来我找到了原因:

  • 索引中每个文档都有重复项,只有一个区别:一个副本有出版日期,另一个没有出版日期。
  • 同时,我的日期筛选器无法正常工作,因为在每个文档上错误地标记了发布日期,并且排名倒数的排名函数每次都可能返回前1000个文档的不同文档(这部分很难调试,而无需查找进入Solr源代码)
  • 集群模块将获得稍微不同的文档集=>集群将发生变化。但是,可以看到大多数突出的簇(按大小)仍然稳定,只有分数在变化。请求之间不那么突出的集群可以用其他不那么突出的集群代替。

我仍然不知道这是否是一个错误,但是从索引中删除所有文档并以正确的发布日期放回原位即可解决问题。