У рубинов Ferret. Кто-то знает какую-либо аналогичную инициативу для Python? Мы используем PyLucene в настоящее время, но я бы хотел исследовать переход к чистому поиску Python.
Есть ли чистый Python Lucene?
Ответ 1
Whoosh - это новый проект, который похож на lucene, но является чистым питоном.
Ответ 2
Единственное единственное решение для поиска с открытым питоном (не включающее даже расширение C), о котором я знаю, - Nucular. Он медленный (гораздо медленнее PyLucene) и еще нестабилен.
Мы перешли с домашнего испеченного поиска и индексирования PyLucene на Solr, но YMMV.
Ответ 3
Недавно я нашел pyndexter. Он предоставляет абстрактный интерфейс для различных различных полнотекстовых поисковых систем/индексаторов. И он поставляется с реализацией по умолчанию pure-python.
Эти вещи могут быть катастрофически медленными, хотя в Python.
Ответ 4
Для некоторых приложений чистый Python переоценен. Взгляните на Xapian.
Ответ 5
lupy был lucene портом для чистого python. Lupy люди предполагают, что вы используете PyLucene. Сожалею. Возможно, вы можете использовать источники Java в сочетании с Jython.
Ответ 6
+1 к ответам Xapian и Pyndexter.
Феррет на самом деле написан на C с привязками Ruby сверху. Чистая поисковая система Ruby будет еще медленнее, чем чистый Python. Мне бы хотелось, чтобы "кто-то еще" написал слой Cython/Pyrex для интерфейса Python для Ferret, но не будет делать этого сам, потому что зачем беспокоиться, когда есть привязки Python для Xapian.
Ответ 7
Для нечистого Python Sphinx Search с Python API работает быстрее всего. Из тестов из нескольких блогов Sphinx Search быстрее, чем Lucene, использует меньше памяти и находится на C.
Я разрабатываю основанную на ней поисковую систему на нескольких документах, используя python и web2py в качестве рамки.
Ответ 8
После нескольких недель поиска этого я нашел хорошее решение Python: repoze.catalog. Это не строго Python-только потому, что он использует ZODB для хранения, но для меня это выглядит лучше, чем что-то вроде SOLR.