Yuca: un peso ligero, en memoria, rápido y simple de usar la biblioteca de motores de búsqueda.
Si su aplicación no puede manejar o no necesita realmente instalar un motor de búsqueda completo y pesado como Lucene, ni desea depender de una base de datos SQL para indexar y hacer cadenas simples basadas en búsqueda, puede usar Yuca para indexar documentos bajo cualquier número de claves arbitrarias que se pueden agrupar bajo las etiquetas.
La biblioteca compartida actualmente pesa ~ 170 kb sin optimizaciones de empaque, esperamos reducir aún más el tamaño en el futuro cercano.
Requisitos:
Instrucciones:
La primera vez, crea tu archivo de make con cmake
$ cmake .
Luego, después de eso, solo construye
$ make -j 8
Las bibliotecas compartidas y estáticas estarán disponibles en la carpeta raíz del proyecto, así como los ejecutables yuca_demo_shared y yuca_demo_static que puede usar para probar que todo ha sido compilado y vinculado correctamente con las bibliotecas compartidas y dinámicas.
También hay un ejecutable yuca_tests en caso de que desee asegurarse de que todas las pruebas unitarias pasen.
La carpeta swig contiene scripts SWIG y envoltorios de alto nivel para usar yuca de otros lenguajes de programación, el primero es java .
La intención actual es tener el swig/build.sh ser un proceso de construcción de un solo paso para crear enlaces para otros idiomas.
Por ahora es un guión muy difícil que creará enlaces de Java, actualmente admite enlaces para Java en MacOS ya que todavía estamos temprano en el desarrollo de las enlaces. A la larga, se pasarán opciones a Build.Sh para obtener enlaces para el lenguaje y la arquitectura de su elección.
Para construir Bingings JNI, FIST asegúrese de haber construido la biblioteca C ++ como se explica en la sección de instrucciones de compilación anteriores y luego:
$ cd swig
$ ./build.sh
Esto emitirá programáticamente el código C ++ JNI y el código Java para acceder a los envoltorios nativos de JNI dentro de una carpeta swig/java . Allí tenemos un paquete Java que es el programador de Java amigable com.guacal.yuca.* Allí encontrará las clases principales para usar yuca en su Indexer de aplicaciones Java/Android, Document , StringKey , SearchRequest , SearchResult .
Si desea construir bibliotecas con símbolos de depuración, edite CMakeLists.txt y desenchufe la configuración CMAKE_BUILD_TYPE ,
# If you need step by step debugging, uncomment below,
# or invoke `cmake -DCMAKE_BUILD_TYPE=Debug .` in the command line
#set(CMAKE_BUILD_TYPE Debug)
Tendrás que ejecutar cmake . De nuevo, realice una make clean y reconstruya con make -j 8
Abra un problema en el rastreador de problemas de GitHub si tiene algún problema, ideas. Si tiene ganas de extender o parchear, abra primero un problema para no perder el tiempo codificando algo que podría no ser aceptado por una buena razón.
Este proyecto está disponible bajo la licencia MIT, publicado públicamente el miércoles. 9 de mayo de 2018