2009-07-07 72 views
0

也許我在嘲笑問題並將答案與問題混爲一談,但請在這裏出來。我想(與你們共同地)考慮一個基於任何任何MVC框架(PHP或ASP.NET MVC,whtever)的網站,這些框架將使用搜索引擎(lucene/solr,FAST ESP, )作爲模型的後端。也就是說,項目中沒有數據庫本身。只是一個半結構化內容的巨大的文獻索引。MVC實現,其中搜索引擎是模型

我在尋找理解 - 並記住該網站主要是隻讀的 - 我可能會遇到麻煩。有什麼讓你覺得這是一個不好的主意。此外,請假設在搜索引擎周圍會有一個強大的緩存基礎設施 - 所以在歡迎perf評論時,我們認爲它們不是主要問題。

謝謝!

回答

0

一般來說,我會使用像Lucene這樣的工具來搜索內容,並使用數據庫來檢索它。這並不意味着它不會起作用。這更多的是爲什麼你不想使用數據庫的問題。是的,它可以工作,它可能會工作(取決於網站的功能要求,請繼續閱讀),但仍然不會像Lucene這樣的工具爲工作本身提供工具。

這就是說,它也取決於網站的種類。它真的是一個只有大量可搜索數據的網站,沒有其他的東西,還是比這更多的東西?如果答案是第一個,那麼很好!如果是後者,我可以想到一些問題:

  • 更新數據可能會很麻煩。 「即時更新」通常是不可行的,因爲Lucene將不得不重建其索引,這非常耗時。如果沒有很多更新的數據可以。如果可以的話,您可以每天或每晚重新創建索引。
  • 試圖填充索引中不適合索引的任何數據通常不是一個好主意。如果網站允許用戶在您的網站上註冊,那麼該用戶數據應該真正放入數據庫中。將它存儲在lucene索引中並不是不可能的,但它並不是工作的正確工具。將索引用作一組索引文檔,但不要將其用作數據庫。
+0

感謝Razzie - 這個網站確實都是關於檢索數據的 - 就像很少改變的目錄一樣。然而,每個數據項的結構可能不同 - 不像只有少數幾個模板 - 更像是任意「智能標記」XHTML或XML的碎片 - 事實上我正在研究類似CouchDB的東西。謝謝 – 2009-07-07 09:19:05