Совместное использование индекса Whoosh

Я создаю сайт CMS на Django и хочу добавить полнотекстовый поиск по содержимому. Сайт достаточно мал и будет генерировать низкий поисковый трафик, поэтому я думаю, что Whoosh будет разумным производственным решением.

В настоящее время я понимаю, что индексация Whoosh и генерация результатов происходят в процессе приложения, а не требуют собственного демона, и это здорово. Однако меня немного беспокоит одновременный доступ к индексу. Может ли один индекс Whoosh поддерживать чтение (и, возможно, запись) из нескольких нескоординированных процессов? Например, будет ли проблематично, если один и тот же индекс будет совместно использоваться серверами приложений Django с балансировкой нагрузки, либо с точки зрения серьезного снижения производительности, либо с точки зрения повреждения индекса?

Заранее спасибо за совет.


person Michael C. O'Connor    schedule 23.02.2011    source источник
comment
Из любопытства вы столкнулись с проблемой индекс whoosh должен быть доступен для записи на веб-сервер?   -  person GreenAsJade    schedule 17.12.2014


Ответы (1)


Судя по документации Whoosh, возможно совместно использовать индекс между несколькими потоками/процессами. Документы по индексации здесь: http://packages.python.org/Whoosh/indexing.html#indexing-documents указывают, что индекс блокируется для записи при его обновлении, поэтому я полагаю, что приложение с большим объемом чтения будет в основном в порядке.

person Michael C. O'Connor    schedule 26.02.2011
comment
Но, конечно, вы не можете использовать RealTimeSignalProcessing, если собираетесь это сделать. - person GreenAsJade; 12.12.2014