2011-02-23 45 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