2011-02-23 42 views
2

我在Django中實現了一個CMS站點,並且我想添加全文內容搜索。該網站相當小,會產生較低的搜索流量,所以我認爲飛快將是一個合理的生產解決方案。共享飛快索引

我目前的理解是,Whoosh索引和結果生成發生在應用程序進程中,而不是需要它自己的守護進程,這很好。不過,我有點擔心同時訪問索引。單個Whoosh索引支持是否可以從多個不協調的進程讀取(並可能寫入)?例如,如果由負載平衡的Django應用程序服務器共享相同的索引,會出現嚴重的性能下降或索引損壞的問題?

在此先感謝您的建議。

+0

出於好奇,你遇到[whoosh索引需要寫入到web服務器](http://stackoverflow.com/q/27434551/554807)的問題嗎? – GreenAsJade 2014-12-16 22:43:13

回答

2

它基於Whoosh文檔顯示可以在多個線程/進程之間共享索引。這裏索引的文檔:http://packages.python.org/Whoosh/indexing.html#indexing-documents表示該索引在更新時被鎖定寫入,所以我會想象一個高度讀取大量的應用程序大體上可以。

+0

但是,如果你打算這麼做的話,你當然不能使用RealTimeSignalProcessing。 – GreenAsJade 2014-12-12 06:37:37