2014-04-12 62 views
0

爲什麼沒有任何主要的RDBMS系統如MySQL,SQL Server,Oracle等有良好的全文索引支持?爲什麼數據庫沒有良好的全文索引

我意識到大多數數據庫在某種程度上都支持全文索引,但是它們通常速度較慢,而且功能較小。看起來,每當你想要一個非常好的全文索引時,你必須走出數據庫並使用諸如Lucene/Solr或Sphinx之類的東西。

爲什麼這些全文搜索引擎中的技術沒有完全集成到數據庫引擎中?將數據保存在另一個系統(如Lucence)中存在很多問題,包括保持數據更新,以及無法將結果與其他表結合起來。這兩種技術爲什麼不能被整合在一起有一個特定的技術原因嗎?

+0

關於爲什麼某些人做出某些設計決定的問題實際上不適合這種溝通平臺,因爲答案主要基於猜測和意見。 – Philipp

+0

我不知道MySQL或Oracle,但至少DB2和SQL Server在更新版本中具有全文搜索功能。 –

回答

1

RDBMS索引服務於不同的目的。他們在那裏爲引擎提供了一種方法來優化對數據的訪問,無論是由用戶還是引擎本身(解析連接,檢查外鍵等)。因此,它們實際上不是一個功能性數據結構。

像全文搜索,標籤雲這樣的工具對於增強用戶體驗可能非常有用。這些僅用於用戶和應用程序。它們是功能性的,並且需要真正的數據結構......輔助表或派生字段......通常有很多觸發器和代碼來保持這些更新。

和恕我直言...有很多方法來實現這些技術。 RDBMS生產者必須選擇某種技術而不是另一種技術......因爲與RDBMS引擎本身無關的原因。這看起來並不是他們的工作。

相關問題