Индекс общего доступа - PullRequest
2 голосов
/ 24 февраля 2011

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

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

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

1 Ответ

2 голосов
/ 26 февраля 2011

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

...