¿Cuál es la mejor herramienta de código abierto para analizar el contenido de texto de los archivos para que esté disponible para la búsqueda?

Me gustaría analizar el contenido de texto de cualquier tipo de archivo para que esté disponible para la búsqueda. Digamos que el archivo puede ser .txt, .docx - archivos de tipo documento o puede ser un archivo de imagen, audio o video.

Podría encontrar Apache Tikahaciendo esto. ¿Hay alguna herramienta alternativa disponible? ¿Cuál es el mejor entre ellos para hacer un analizador de texto?

¿Puede alguien arrojar alguna idea sobre esto?

Respuestas (1)

Como su búsqueda ya encontró a Apache Tika como la mejor solución, esto se debe a que la tarea de manipular datos de muchas fuentes diferentes es complicada y eso es lo que Tika busca resolver. Para ser claros, Apache Tika usa otras herramientas de código abierto para hacer esa extracción de datos real: como Apache POI para extraer datos de documentos de Word, y creo que podría usar PDFBox para extraer texto de documentos pdf.

No es difícil extraer texto de documentos de Word o documentos PDF, pero debe manejar cada caso y crear una forma sólida de administrar estas otras herramientas implicará recrear lo que es Apache Tika. Cuando se encuentra con tipos de documentos más exóticos (para los que no hay analizador), Tika proporciona interfaces para definir su propio extractor y agregarlo al conjunto de documentos con los que puede trabajar.

Entonces, puede usar tika o hand role para encontrar una solución. Dicho esto, existen herramientas que amplían tika y brindan funciones de búsqueda de documentos todo en uno que son Apache Solr. Apache Solr es un servidor que proporciona funciones de análisis e indexación de documentos utilizando una API tranquila (incluso para alimentar los documentos), bajo el capó, utiliza el marco Lucene. Si no puede soportar trabajar a través de una API tranquila y quiere trabajar directamente en Java, use Lucene directamente.