2009-02-10 43 views
11

Tengo un gran conjunto de archivos (hdf) que necesito para habilitar la búsqueda. Para Java, usaría Lucene para esto, ya que es un motor de indexación de archivos y documentos. Aunque no sé cuál sería el equivalente de Python.indexación y búsqueda de archivos en Python

¿Alguien puede recomendar qué biblioteca debería usar para indexar una gran colección de archivos para una búsqueda rápida? ¿O es la forma preferida de rodar la tuya?

He visto pylucene y lupy, pero ambos proyectos parecen bastante inactivos y no soportados, por lo que no estoy seguro de si deberían confiar en ellos.

Notas finales: Woosh y pylucene parecen prometedores, pero woosh sigue siendo alfa, por lo que no estoy seguro de querer confiar en ello, y tengo problemas para compilar pylucene, y no hay versiones reales de él. Después de haber analizado un poco más los datos, se trata principalmente de números y cadenas de texto predeterminadas, por lo que, ahora que no está disponible, un motor de indexación no me ayudará. Esperemos que estas bibliotecas se estabilicen y más tarde los visitantes encuentren algún uso para ellas.

Respuesta

9

Lupy has been retired y los desarrolladores recomiendan PyLucene en su lugar. En cuanto a PyLucene, su actividad de lista de correo puede ser baja, pero definitivamente es compatible. De hecho, recientemente se convirtió en official apache subproject.

Es posible que también desee consultar un nuevo contendiente: Whoosh. Es similar a lucene, pero implementado en python puro.

5

no he hecho la indexación antes, sin embargo lo siguiente puede ser útil: -

  1. pyIndex - biblioteca de la indexación de archivos para Python
  2. http://www.xml.com/pub/a/ws/2003/05/13/email.html - - http://rgaucher.info/beta/pyIndex/ Eso es una secuencia de comandos para la búsqueda de correo electrónico Outlook utilizando Python y Lucene
  3. http://gadfly.sourceforge.net/ - base de datos de tábano de Aaron agua (. Creo que se puede utilizar éste para la indexación no se han utilizado yo mismo.)

En cuanto al uso de archivos HDF, he oído hablar de un módulo llamado h5py.

Espero que esto ayude.

+0

Puedo leer bien los archivos hdf5 usando pytables, solo necesito encontrar la herramienta adecuada para indexar la información que extraigo. – Staale

+0

Tengo poca experiencia en el área. Como ya puede leer archivos hd5, creo que pyIndexer podría funcionar para usted. Tengo poca experiencia en el área y espero que su proyecto funcione bien. – batbrat

4

Sugiero Sphinx. Es muy activo, tiene muchas más funciones y parece más rápido que Lucene.

+0

Sphinx es genial, y en mi humilde opinión, más fácil de instalar, configurar, etc., que el pirluceno. –

2

A C++ populares de información basado biblioteca de recuperación que a menudo se utiliza con Python es Xapian http://xapian.org/

Es increíblemente rápido y puede manejar felizmente grandes cantidades de datos, sin embargo, no es tan fácilmente extensible como Lucene.

Cuestiones relacionadas