python full-text-search lucene ferret

¿Hay un Python Lucene puro?



full-text-search ferret (8)

Los ruby ​​tienen a Ferret . ¿Alguien sabe de alguna iniciativa similar para Python? Estamos usando PyLucene a la fecha, pero me gustaría investigar la búsqueda pura de Python.


La única solución de búsqueda pure-python (que no incluye la extensión C) que conozco es Nucular . Es lento (mucho más lento que PyLucene) e inestable todavía.

Pasamos de la búsqueda en el hogar basada en PyLucene y la indexación a Solr, pero YMMV.


Para algunas aplicaciones, Python puro está sobrevalorado. Echa un vistazo a Xapian.


Recientemente encontré pyndexter . Proporciona una interfaz abstracta para varios buscadores / indexadores de búsqueda de texto completo. Y se envía con una implementación de pure-python predeterminada.

Estas cosas pueden ser desastrosamente lentas en Python.



Después de semanas de buscar esto, encontré una buena solución de Python: repoze.catalog . No es estrictamente solo de Python porque usa ZODB para el almacenamiento, pero parece una mejor dependencia para mí que algo como SOLR.


+1 a las respuestas de Xapian y Pyndexter.

Ferret en realidad está escrito en C con enlaces de Ruby en la parte superior. Un motor de búsqueda de Ruby puro sería incluso más lento que uno puro de Python. Me encantaría ver a "otra persona" escribir una capa de Cython / Pyrex para la interfaz de Python con Ferret, pero no lo haré yo mismo porque ¿por qué molestarse cuando hay enlaces de Python para Xapian?


Whoosh es un nuevo proyecto que es similar a lucene, pero es puro python.


Para Python no puro, Sphinx Search con Python API funciona más rápido. A partir de los puntos de referencia de múltiples blogs, Sphinx Search es mucho más rápido que Lucene, usa mucha menos memoria y está en C.

Estoy desarrollando un motor de búsqueda multi-documento basado en él, usando python y web2py como framework.