FEMTO es un sistema de indexación y búsqueda de consultas sobre secuencias de bytes. FEMTO significa índice FM para memoria externa con optimizaciones de rendimiento. Esta herramienta admite la creación de índices grandes en paralelo con MPI y luego la búsqueda de índices grandes con un servidor multiproceso.
FEMTO requiere una máquina de 64 bits para construir y probar. Las máquinas de 32 bits solo son compatibles con la búsqueda. Se sabe que FEMTO construye con GCC para Linux/x86-64.
Para compilar FEMTO a partir de un archivo tar de lanzamiento, necesitará un compilador de C++, libssl-dev y, opcionalmente, MPI. Al compilar desde el código fuente, también necesitará flex, bison, autotools y libtool. Ha trabajado con GNU bison 2.5 y 2.4.1.
Se requiere MPI para la construcción de índices paralelos. Tenga en cuenta que no se admiten las ejecuciones de MPI en máquinas con diferente endianidad.
Si desea utilizar la construcción de índices paralelos de MPI, deberá instalar una versión de MPI que admita subprocesos. Hemos utilizado OpenMPI 1.8.8, configurado de la siguiente forma:
./configure --prefix=/opt/openmpi1.8.8 --enable-mpirun-prefix-por-predeterminado --enable-mpi-thread-multiple --with-threads hacer realizar la instalación # en todos los nodos informáticos # Para asegurarnos de que mpirun y mpicc estén en la ruta para su uso con FEMTO exportar RUTA=$RUTA:/opt/openmpi1.8.8/bin exportar LD_LIBRARY_PATH=/opt/openmpi1.8.8/lib
¡Asegúrate de haber cumplido los requisitos primero!
Recomendamos comenzar con un tarball de lanzamiento de FEMTO de https://github.com/femto-dev/femto/releases.
Si prefiere utilizar un pago de código fuente, existen dependencias de compilación adicionales.
Si está comenzando con un pago de fuente como con
clon de git https://github.com/femto-dev/femto.git cd femto
También necesitarás generar el script de configuración:
sh autogen.sh
Para construir FEMTO, emita los siguientes comandos:
./configurar hacer
Verá muchas advertencias de que hay cosas declaradas/definidas pero no utilizadas; Esto es normal y no es un problema. Si recibe errores y la compilación falla, es posible que no tenga instaladas todas las bibliotecas de desarrollo necesarias. (por ejemplo, si está ejecutando g++ y no encuentra -lssl, eso indicaría que necesita instalar libssl)
Para ejecutar las pruebas unitarias incluidas, utilice
hacer cheque
Para instalar FEMTO en un lugar particular, asegúrese de incluir --prefix en su línea de configuración, como en
./configure --prefix ~/femto_install
Como siempre,
hacer la instalación
instalará las herramientas FEMTO en el destino especificado por ./configure.
También puede ejecutar los comandos desde el directorio de compilación.
Consulte src/mod_femto/README para obtener información sobre cómo instalar el módulo Apache FEMTO.
Para crear un índice, ejecute
femto/src/dcx_cc/femto_index --tmp /ruta/a/tmp_dir --archivo de salida index.femto archivos_o_directorios_a_indexar
Luego, para consultar el índice, use femto_search. Para contar el número de apariciones (¡rápidamente!), utilice:
femto/src/main_cc/femto_search /ruta/a/index_dir --count 'patrón'
Para reportar documentos que coincidieron (el tiempo depende del número reportado), use:
femto/src/main_cc/femto_search /ruta/a/index_dir 'patrón'
Para informar documentos y compensaciones que coincidan (el tiempo depende del número reportado), utilice:
femto/src/main_cc/femto_search /path/to/index_dir --compensaciones 'patrón'
Para obtener más información sobre qué tipos de patrones puede utilizar, consulte femto/src/main/QUERY_FORMAT.txt
La fuente FEMTO incluye el paquete Google RE2, jQuery, jQuery SlickGrid y jQuery SVG.