首页 > 解决方案 > Solr 搜索相关性影响

问题描述

我有一个 MySQL 数据库,我每天都从该数据库同步数据到 solr,我的 web 应用程序经常查询来自 solr 的数据。我的 solr 集群中没有启用备份。如果我关闭现有集群并想创建新集群并将数据从 MySQL 填充到 solr 中,搜索结果是否与我以前从以前的集群中获得的结果相同。

自从我从去年开始查询旧集群以来,solr 是否存储有关经常搜索的术语和文档的任何内部信息,增加它的流行度分数?,或者如果我只是创建新集群搜索结果将相同,则没有任何区别。

标签: searchsolrsolrcloudsunspot-solr

解决方案


Solr 不存储任何查询历史记录或使用热门搜索或结果来影响分数(这样想:Solr 提供的结果已经根据查询中给出的因素进行了评分;使用该数据更改评分不会影响任何事情,因为数据已经以相同的方式呈现)。您可以使用外部信号(点击流等)通过在其他字段中拥有该数据来更改自己的评分,但这取决于您作为开发人员。

关于你问题的第一部分;搜索结果将是相同的。如果两个文档的评分相同,则它们各自的顺序由它们在 Lucene 索引中的顺序决定。如果重新索引后该顺序发生变化,您可能会看到具有相同分数的文档在搜索结果中的位置发生了变化。

另一个因素是,如果您最近没有优化索引(手动或通过合并因素),如果您的索引中有许多已删除的文档,分数也可能会发生变化。计算分数时仍会考虑已删除的文档,但在优化或合并后,这些文档会从索引中删除,不再影响分数。


推荐阅读