Полнотекстовый поиск: Whoosh Vs SOLR - PullRequest
31 голосов
/ 12 июля 2010

Я работаю над проектом Django, где мне нужно реализовать полнотекстовый поиск.Я видел SOLR и нашел несколько хороших комментариев к тому же.Но так как он реализован на Java и требует установки Java-среды в системе вместе с Python.В поисках Python-эквивалента для SOLR я видел Whoosh, но я не уверен, что Whoosh так же эффективен и силен, как SOLR.Или я должен идти только с опцией SOLR или есть ли лучшие варианты, чем Whoosh и SOLR с питоном?

Пожалуйста, предложите.

Заранее спасибо

Ответы [ 2 ]

14 голосов
/ 12 июля 2010

Whoosh на самом деле очень быстро для реализации только на Python. Тем не менее, это все еще по крайней мере на порядок медленнее. В зависимости от объема данных, которые необходимо проиндексировать и выполнить поиск, а также требований к максимально допустимой задержке и одновременным поискам, это может быть невозможным.

SOLR - немного сложный зверь, но на сегодняшний день это самое комплексное решение для поиска. Смешайте его с solrpy для получения потрясающих результатов. Да, вам понадобится хостинг на Java.

Возможно, вы также захотите проверить привязки python для xapian . Xapian очень, очень быстрый, но менее комплексное решение, чем SOLR. Они имеют лицензию GPL, поэтому могут / не могут быть жизнеспособными для вас.

1 голос
/ 12 июля 2010

Я использовал расширения Lucene и Lucene, такие как SOLR и Nutch, и обнаружил, что Lucene в значительной степени удовлетворяет то, что мне нужно.Я попробовал Whoosh только один раз, но выбрал Lucene, потому что 1) я использую Java 2) у меня были проблемы с настройкой UTF-8 для работы с Whoosh (не уверен, работает ли он сейчас из коробки).В Lucene у меня не было проблем с работой с китайскими иероглифами.

Если вы используете Python в качестве языка программирования и Whoosh удовлетворяет ваши потребности, то я бы предложил вам использовать его вместо альтернатив Java для лучшей интеграции, избегая внешнихзависимости, более быстрая настройка, если вам нужно кодировать дополнительные функции.

ОБНОВЛЕНИЕ: Если вы заинтересованы в использовании Lucene, у него есть оболочка Python: см. http://lucene.apache.org/pylucene/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...