【问题标题】:why search engines need to reindex periodically but databases don't?为什么搜索引擎需要定期重新索引而数据库不需要?
【发布时间】:2016-09-13 05:47:26
【问题描述】:

例如Sphinx、Lucene等搜索引擎必须定期合并索引,但数据库索引可以动态更新。为什么一定要合并搜索引擎的索引?

【问题讨论】:

    标签: database search database-design full-text-search search-engine


    【解决方案1】:

    我对 Sphinx 了解不多,但我相信这个问题的答案与它无关。

    首先,为什么数据库不需要定期更新?这是因为数据库在大多数情况下是应用程序的主要数据存储。我的意思是,如果您创建、删除或更新任何数据;该数据是数据库记录的手段。您正在从那里删除数据以在应用程序中删除它,或者您首先从数据库中获取数据以进行更新,因为旧版本保留在那里。这一切都表明数据库一直在更新,您的数据始终是最新的。

    为什么搜索引擎的索引需要定期重新索引?索引是搜索引擎的数据存储,基本上您正在处理数据,将其放入索引中,然后通过搜索系统检索它。该索引是您的辅助数据资源。这并不适用于所有应用程序,但大多数时候,您将数据库作为主要资源,正如我上面解释的那样与您的应用程序同步,然后索引您未实时反映所有更改的位置。然后根据数据库,您发现索引中的数据有点过时。该重新索引步骤对于您保持数据资源的一致性是必要的。

    正如我所说,这种解释并不适用于所有应用程序,但它可以为您提供基本概念。

    ps:您的问题中有一个“数据库索引”短语,但它完全是一个不同的主题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-20
      • 2018-01-23
      • 2020-12-13
      • 1970-01-01
      相关资源
      最近更新 更多