我在阅读《这就是搜索引擎:核心技术详解》这本书的时候,看到原文第三章中以下这句话引起我的思考:
这种重建策略比较适合小文档集合,因为完全重建索引的代价较高,但是目前主流商业搜索引擎一般是采用此种方式来维护索引的更新,这与互联网本身的特性有关。
目前索引更新策略有四种:
- 完全重建策略
- 再合并策略
- 原地更新策略
- 混合策略
如果希望了解这4种索引更新策略可以去看《这就是搜索引擎:核心技术详解》作者的博客:搜索引擎索引之索引更新策略
我对这四种策略进行比较后才发现主要的原因:
完全重建策略虽然重建索引策略的代价比较高,但是这个策略是唯一能够保证重建期间索引依然生效的策略,对于商用的搜索引擎,应该保证系统无论何时都可以正常运作。
而再合并策略与原地更新策略都是创建增量索引之后与旧索引进行合并,在合并期间旧索引是无法生效,而所谓的混合策略只是根据情况选择使用再合并策略与原地更新策略,依然无法保证索引一直生效。