为什么不是数据库具有良好的全文索引

时间:2014-04-12 12:02:53

标签: sql database solr full-text-search nosql

为什么不让任何主要的RDBMS系统(如MySQL,SQL Server,Oracle等)都有良好的全文索引支持?

我意识到大多数数据库在某种程度上支持全文索引,但它们通常较慢,并且具有较小的功能集。似乎每次你想要一个非常好的全文索引,你必须走出数据库并使用像Lucene / Solr或Sphinx这样的东西。

为什么这些全文搜索引擎中的技术完全集成到数据库引擎中?将数据保存在另一个系统(例如Lucence)中存在很多问题,包括使数据保持最新,以及无法将结果与其他表连接。是否有一个特定的技术原因可以将这两种技术集成在一起?

1 个答案:

答案 0 :(得分:1)

索引的RDBMS服务于不同的目的。他们在那里为引擎提供了一种优化数据访问的方法,包括用户和引擎本身(解析连接,检查外键等等)。因此,它们实际上不是一个功能数据结构。

全文搜索,标签云等工具对于增强用户体验非常有用。这些仅用于用户和应用程序。它们是功能性的,需要真正的数据结构......辅助表或派生字段......通常包含大量触发器和代码以保持这些更新。

恕我直言......有很多方法可以实现这些技术。由于与RDBMS引擎本身无关的原因,RDBMS生产者可能不得不选择某种技术而不是另一种技术。这似乎不是他们的工作。