从MySQL同步数据重建Solr集群,搜索结果是否与旧集群完全一致?
Solr集群重建全量导入后的搜索结果一致性问题解答
全量导入后搜索结果是否和旧集群一致
只要满足以下几个前提,搜索结果包括排序规则就会完全一致:
- 新集群的所有配置(
managed-schema/schema.xml、solrconfig.xml、自定义分词器jar包、相似度算法配置、查询解析器规则、自定义权重逻辑等)和旧集群100%相同 - 你从MySQL导入的全量数据,和旧集群最后一次同步完成时的MySQL数据完全一致,没有遗漏或新增未同步的内容
- 新旧集群的Solr大版本完全一致,不同版本的默认算法实现可能存在细微差异,会影响排序得分
Solr会不会自动存储用户行为数据调整得分
原生Solr默认完全不会做这件事。
Solr的搜索得分计算完全基于你配置的相似度模型,默认是BM25,所有计算维度都来自索引本身的统计信息:文档内词频、全局逆文档频率、文档长度等,不会记录高频搜索词、用户点击的热门文档,也不会基于这些数据自动调整文档的流行度得分。
除非你自己做了二次开发,额外实现了用户行为采集、动态调整文档权重/得分的逻辑,或者你在索引里单独维护了热度字段并在查询时作为排序因子,否则重建新集群不会对搜索结果产生任何额外影响。
内容的提问来源于stack exchange,提问作者arjunsv3691
相关产品推荐
相关产品推荐

