Pregunta

Los rubíes tienen Ferret . Alguien sabe de alguna iniciativa similar para Python? Estamos usando PyLucene en este momento, pero me gustaría investigar cómo pasar a la búsqueda pura de Python.

¿Fue útil?

Solución

Whoosh es un nuevo proyecto que es similar al lucene, pero es puro Python.

Otros consejos

La única solución de búsqueda de Python puro (que no involucra incluso 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 e indexación casera basada en PyLucene a Solr pero YMMV.

Recientemente encontré pyndexter . Proporciona una interfaz abstracta para varios motores de búsqueda / indexadores de texto completo de backend. Y se entrega con una implementación predeterminada de puro python.

Estas cosas pueden ser desastrosamente lentas en Python.

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

lupy era un puerto luceno a Python puro. La gente lupy sugiere que use PyLucene . Lo siento. Tal vez pueda usar las fuentes de Java en combinación con Jython .

+1 a las respuestas de Xapian y Pyndexter.

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

Para Python no puro, Sphinx Search con la API de Python funciona más rápido. Desde 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 de documentos múltiples basado en él, usando python y web2py como marco.

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top