2012-02-16 97 views
3

我期待實現(免費在啤酒)全文搜索Heroku上的小應用程序(最小數量的用戶,有限的數據集)。然而,我正在努力尋找一種最佳模式,一種選擇是使用xeround的10mb限制,而它持續(我們可能在不久的將來會超過這個限制),其次是以某種方式推出我自己的全文搜索在MongoDB或CouchDB上。全文搜索Heroku,數據庫和或索引選擇?

本應用程序中的文檔是我希望通過郵件列表進行搜索的存檔電子郵件,大約有10k個這樣的電子郵件,純文本,大約700bytes per。

我寧願模糊搜索功能,因此推動whoosh。

在我的要求(我剛纔所說,是因爲它是免費!)

我還沒有發現任何模式用於在使用Python嗖用MongoDB中,燒瓶中的應用。

任何人都可以提供有關如何處理一個小的heroku,python應用程序中的全文搜索的更多信息?

回答

2

所以我沒有嘗試過,但http://tenderlove.github.com/texticle/似乎暗示你可以使用本機pgsql全文搜索,如果你能適應空間限制。 whoosh的麻煩在於,你將遇到磁盤空間問題以及在heroku規則中的持久性問題。

的另一件事要做的就是一起工作的附加功能是通過開發文檔建議: http://devcenter.heroku.com/articles/full-text-search

至於圖案,你基本上做全文搜索和找回數據/記錄ID和然後根據全文結果查詢數據存儲(mongo)以獲取完整數據集。這是一個手動過程,但沒有什麼太奇怪的。如果搜索不需要完整記錄,通常可以通過全文信息隱藏重要數據,但這會增加全文索引的大小。

0

pysolr解決了您的問題。

+0

pysolr是solr API的python包裝,它沒有解決問題,因爲沒有可用的solr的免費版本。 – 2012-02-16 06:13:53

0

您是否考慮過使用Apache SolR?我認爲這是自由文本搜索引擎的最佳解決方案,它是免費且開源的。

要使用python中的SolR,我建議您使用MySolr庫。比pysolr更快更容易使用(你可以看到一些數據here

+0

它與開源一樣免費,但與Heroku一起使用時免費,如啤酒。我需要在某處託管一個solr實例,這會花費$。 – 2012-02-16 15:37:59