2012-04-19 183 views
1

我正在考慮使用solr來實現空間和文本索引。目前,我有進入MYSQL數據庫以及solr的條目。當solr啓動時,它從MYSQL讀取所有數據。隨着新條目的進入,我的Web服務器將它們寫入MYSQL,同時向solr添加文檔。越來越多,似乎我的MYSQL實現只是成爲只寫持久性存儲(或多或少,是solr中數據的備份) - 所有條目的讀取都是通過solr查詢完成的。真正從MYSQL讀取的唯一數據是用戶信息,不需要對其進行索引/搜索。使用Solr,我還需要SQL db嗎?

幾個問題:

  • 我真的需要MYSQL實現或可能我只是我所有的數據存儲在Solr的?
  • 如果只提供解決方案,與此解決方案相關的風險是什麼?

謝謝!

+0

我不明白它...... – threejeez 2012-05-14 08:13:24

回答

3

幾乎總是,答案是肯定的。它不一定是數據庫必需的,但是如果您改變索引Solr中的數據的方式,您應該將原始數據保留在Solr之外的某個位置。與大多數Solr不同的數據庫不同,Solr不能簡單地重新索引自己。您可以假設性地配置您的模式,以便您的所有原始數據都被標記爲「已存儲」,然後可能轉儲到CSV轉儲並重新索引,但我不會推薦這種方法。

無恥插頭:有關使用Solr的任何信息,我推薦使用my book

2

我推薦一個單獨的存儲庫。 MySQL是一種選擇。有些人使用文件系統。

您經常需要一個不同的模式進行搜索,而不是存儲。使用單獨的存儲庫很容易。

當您更改Solr架構時,您需要重新加載內容。卸載Solr中的所有內容可能會很慢。如果它已經在一個單獨的存儲庫中,那麼你不需要從Solr轉儲它,你可以覆蓋那裏。

一般來說,使Solr既是一個搜索引擎,也是一個存儲庫,真正降低了您的靈活性和使搜索最佳的選擇。

+0

當然,它不一定是關係數據庫。選擇應該主要取決於您的數據結構和縮放需求。有許多新的NoSQL數據庫處理各種數據體系結構,這些體系結構基於分佈式:文檔,列,哈希映射,圖表...... – 2012-04-20 13:26:37

相關問題