任何人都知道为什么Solr的排名受删除(但不是清除)文件的影响?
即。如果我添加一个文档并搜索它,它的分数可能是4.7,但如果我重新添加它(即Solr删除旧的并再次添加...具有相同的值)然后执行相同的查询结果有一个分数4.5。如果我对索引进行优化,那么分数将再次返回到4.7。
我认为这是因为当文档被逻辑删除但未从索引中清除时,Solr中的maxDoc和numDoc之间存在差异。
这是一个错误吗?在我的情况下,它会导致问题,因为当删除不相关的文档(不在我的结果集中)时,排序顺序会变得不稳定。
这是Solr 3.2.0
-Matt
答案 0 :(得分:0)
这不是一个真正的错误,而是Solr默认工作的方式 - 因为你推测删除文档实际上并没有删除它,直到你优化,因此统计数据仍然反映了删除的文档,直到那一点。好处是它使删除成为一种快速操作(优化通常作为偶然的过程完成)。其他一些引擎(如Xapian)确实完全删除了文档。