Pregunta

Estoy buscando una biblioteca de indexación de búsqueda de código abierto.Se utilizará para aplicaciones web integradas, por lo que debe tener un tamaño de código pequeño.Preferiblemente, escrito en C, C++ o PHP y no requiere la instalación de ninguna base de datos para almacenar índices.En su lugar, los índices deben almacenarse en un archivo (por ejemplo, xml, txt).Intenté buscar en algunas bibliotecas de búsqueda famosas como xapian y clucene, son buenas pero tienen un tamaño de código relativamente grande para un sistema integrado.

Esto se ejecutará en una plataforma Linux y se utilizará para indexar archivos HTML.

¿Alguna idea sobre cuál sería una buena biblioteca de búsqueda/API a utilizar?

Gracias.

¿Fue útil?

Solución

Otros consejos

Oh hombre.Hay algunos.En orden de oscuridad descendente...

Estoy seguro de que hay muchos más por ahí, pero estos son los que tengo fuera de mi cabeza.Buena suerte :)

Primero:Tienes que almacenar índices en alguna parte.Por lo tanto, será necesario un archivo de datos a menos que desee índices solo de memoria.

Para indexar elementos genéricos, te puedo recomendar sqlite: http://www.sqlite.org/.Incluso lo uso en modo de solo memoria cuando tengo una gran cantidad de datos y necesito manejarlos con múltiples índices.

Depende de tus requisitos.Una distribución completa de Lucene (Java) tiene un archivo JAR de hasta 3 MB, pero en la práctica se puede reducir a menos de 1 MB.CLucene probablemente sea considerablemente más pequeño en la práctica.¿Qué tan bajo necesitas llegar?...

Swish-E está escrito en C y puede hacer lo que quieras.No requiere una base de datos, utiliza su propio formato de archivo de índice binario.

yo también he usado ht://Excavar pero parece que ha pasado mucho tiempo desde que se mantuvo ese software.

Ambos se compilarán en Linux e indexarán HTML perfectamente.

Una tercera opción es sino usado por AustLII.Póngase en contacto con el equipo allí para asegurarse de obtener la última versión.Debería compilarse en Linux sin demasiados problemas.En realidad, no está diseñado para sistemas integrados (SINO significa Size Is No Object), pero tenía una API decente la última vez que miré y era relativamente pequeña (por lo tanto, no está diseñado para eso, pero podría funcionar igual de bien).Dirigido a HTML.Indexación bastante rápida.Creo que vale la pena echarle un vistazo.(Divulgación:Trabajé allí hace mucho tiempo)

Finalmente, utilizamos solr que se basa en Lucena.Solr utiliza una API simple basada en la publicación de documentos XML en un servidor.Es bastante sencillo interactuar con él sin importar cuál sea tu idioma.

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