例如,Sphinx,Lucene等搜索引擎必须定期合并索引,但数据库索引可以动态更新。为什么必须合并搜索引擎的索引?
答案 0 :(得分:0)
我对Sphinx一无所知,但我相信这个问题的答案与此无关。
首先,为什么数据库不需要定期更新?这是因为数据库大多数时候是应用程序的主要数据存储。我的意思是,如果您创建,删除或更新任何数据;该数据是数据库记录的手段。您正在从那里删除数据以在应用程序中删除它,或者您首先从数据库获取数据以进行更新,因为旧版本保留在那里。所有这些都表明数据库一直在更新,您的数据始终是最新的。
为什么搜索引擎的索引需要定期重建索引?索引是搜索引擎的数据存储,基本上是您处理数据,将其放入索引,然后通过搜索系统检索它。该索引是您的辅助数据资源。这并不适用于所有应用程序,但大多数情况下,您将数据库作为主要资源,正如我上面所解释的那样与您的应用程序同步,然后索引您未实时反映所有更改的位置。然后根据数据库发现索引中的数据有点过时了。重建索引步骤对于保持数据资源的一致性是必要的。
正如我所说,这个解释不适用于所有应用程序,但它可以为您提供基本的想法。
ps:你有一个"数据库索引"你的问题中的短语,但它完全是一个不同的主题。