Xapian and Omega

Software captura de pantalla:
Xapian and Omega
Detalles de software:
Versión: 1.2.12 / 1.3.0
Fecha de carga: 20 Feb 15
Promotor: Xapian Team
Licencia: Libre
Popularidad: 3

Rating: nan/5 (Total Votes: 0)

Xapian es una biblioteca de código abierto Información Probabilístico Recuperación, liberado bajo la GPL. Iss Xapian escrito en C, con fijaciones para permitir el uso de otros idiomas (Perl, Java, Python, PHP, y TCL aparecen detallados en el; Guile y C # se está trabajando).
Xapian está diseñado para ser una herramienta altamente adaptable para permitir a los desarrolladores añadir fácilmente instalaciones de indexación y búsqueda avanzada para sus propias aplicaciones.
Si lo que busca es un motor de búsqueda empaquetada para su sitio web, usted debe echar un vistazo a Omega, que es una aplicación que suministramos edificados sobre Xapian. Pero a diferencia de la mayoría de otras soluciones de búsqueda web, la versatilidad de Xapian le permite extender Omega para satisfacer sus necesidades a medida que crecen

Características :.

    < li> Software Libre / Open Source -. licenciado bajo la GPL
  • altamente portátil - se ejecuta en muchos Linux, MacOS X, muchas otras plataformas Unix y Microsoft Windows
  • .
  • Escrito en C. Conexiones a Perl están disponibles en el módulo de búsqueda :: Xapian en CPAN. Enlaces Java JNI se incluyen en el módulo Xapian-enlaces. También apoyamos TRAGO que puede generar enlaces de 13 idiomas. En la actualidad los de Python, PHP 4, y TCL están trabajando. Guile y C # se está trabajando.
  • Clasificado búsqueda probabilístico - palabras importantes se ponen más peso que las palabras sin importancia, por lo que los documentos más relevantes tienen más probabilidades de acercarse a la cima de la lista de los resultados
  • .
  • Relevancia de retroalimentación - dado uno o varios documentos, Xapian pueden sugerir los términos del índice más relevantes para expandir una consulta, los documentos sugieren relacionados, clasificar documentos, etc
  • .
  • Frase y búsqueda de proximidad -. Los usuarios pueden buscar palabras que ocurren en una frase exacta o dentro de un determinado número de palabras, ya sea en un orden determinado, o en cualquier orden
  • Una amplia gama de operadores de búsqueda booleanos estructurados (& quot; Stock no Market & quot ;, etc). Los resultados de la búsqueda booleana se clasifican por los pesos probabilístico. Filtros booleanas también se pueden aplicar para restringir una búsqueda probabilística.
  • Apoya derivada de los términos de búsqueda (por ejemplo, una búsqueda de & quot; el fútbol & quot; encontraría documentos que mencionan & quot; balones & quot; o & quot; futbolista & quot;). Esto ayuda a encontrar documentos relevantes que de otra manera se perderían. Lematizadores se incluyen actualmente para Danés, Holandés, Inglés, finlandés, francés, alemán, italiano, noruego, portugués, ruso, español y sueco.
  • Soporta archivos de base de datos & gt; 2GB -. Esencial para escalar a grandes colecciones de documentos
  • Plataforma formatos de datos independientes -. Se puede construir una base de datos en una máquina y buscarla en otro
  • Permite la actualización y búsqueda simultánea. Nuevos documentos se convierten en búsqueda de inmediato.

  • Además de la biblioteca, suministramos una serie de pequeños programas de ejemplo y una aplicación más grande - una indexación y aplicación llamada omega basada en CGI:
  • El indizador suministrados pueden HTML índice, PHP, PDF, PostScript y texto plano. Añadir soporte para indexar otros formatos es fácil que los filtros de conversión están disponibles (por ejemplo, Microsoft Word). Este indexador funciona mediante el sistema de archivo, sino que también proporciona una secuencia de comandos para que el rastreador htdig web para ser enganchado en, permitiendo que los sitios remotos que se realicen búsquedas utilizando Omega.
  • También puede indexar datos de cualquier SQL u otros RDBMS soportado por el módulo Perl DBI. Eso incluye MySQL, PostgreSQL, SQLite, Sybase, MS SQL, LDAP y ODBC.
  • Búsqueda CGI frontal suministra con apariencia altamente personalizable. Esto también se puede personalizar para los resultados de salida en XML o CSV, lo cual es útil si va a generar dinámicamente páginas (por ejemplo con PHP o mod_perl) y sólo quiere resultados en bruto que se puede procesar en su propio código de diseño de página.

¿Qué hay de nuevo en esta versión:

  • Esta versión corrige algunos bugs menores y añade algunas nuevas características .

¿Cuál es nuevo en la versión 1.2.4:

  • Esta versión añade un API para la fusión y la compactación de bases de datos , hace que muchas mejoras a Omega, incluye nuevos enlaces Perl basado en SWIG, y corrige algunos pérdidas de memoria en enlaces Python.

¿Qué hay de nuevo en la versión 1.0.22:

  • Esta versión corrige varios errores de menor importancia, y mejora la portabilidad .

¿Qué hay de nuevo en la versión 1.0.21:

  • API Xapian-core:
  • Xapian :: Stem ahora reconoce & quot; nb & quot; y & quot; nn & quot; códigos como adicionales para la despalilladora noruego.
  • Xapian :: QueryParser ahora analiza correctamente un término comodín en medio de otros dos términos (Ticket # 484).
  • Matcher:
  • OP_OR podría saltar un documento coincidente si decayó a OP_AND o OP_AND_MAYBE durante el partido en algunos casos. Corrige el boleto # 476.
  • OP_XOR con subconsultas que no son hojas podría saltar documentos que coinciden en algunos casos, y OP_XOR de tres o más sub-consultas podría volver pesos incorrectos. Corrige el boleto # 475.
  • OP_OR es ahora más eficiente si una subconsulta es potencialmente caro (por ejemplo OP_VALUE_RANGE, OP_NEAR, OP_PHRASE, PostingSource). Se ha observado una 10 veces la velocidad de marcha con OP_VALUE_RANGE.
  • Build System:
  • Instalar archivos para hacer Xapian más fácil de usar con cmake.
  • Portabilidad:
  • En los procesadores x86, Xapian ahora por defecto usando instrucciones SSE2 PF. Esto evita problemas con el exceso de precisión y un poco más rápido. Si usted necesita para soportar procesadores sin SSE2 (esto significa pre-Pentium 4 de Intel) y luego configure con --disable-sse. (Ticket # 387)

¿Qué hay de nuevo en la versión 1.0.18:

  • QueryParser:
  • Mejorar el soporte para idiomas como el birmano que utilizan Unicode adjuntando marca y combinar caracteres de signo de separación.
  • Flint backend:
  • Al actualizar documentos, no actualizar publicar entradas que no han cambiado (ticket # 250).
  • Fijar bloqueo código para trabajar si la entrada estándar y / o la salida estándar se han cerrado.

¿Qué hay de nuevo en la versión 1.0.13:

  • API:
  • Xapian :: Documento no siempre almacena valores vacíos de forma explícita. Esto no era una conducta intencional, y cómo se manejó este caso no se documentó. El comportamiento modificado es coherente con cómo se maneja metadatos usuario. Este cambio no es observable mediante Documento :: get_Value (), pero se puede notar cuando se repite con Document :: values_begin (), utilizando el Documento :: values_count (), o tratar de eliminar el valor con Document :: remove_value ().
  • banco de pruebas:
  • Fix testcase scaleweight4 no fallar en x86 cuando se compila con -O0. El problema estaba en el código testcase, y fue causado por el exceso de precisión en los valores de PF intermedios.
  • casos de prueba que comprobar que las operaciones tienen la O (...) comportamiento esperado sin verificación de tiempo de CPU en lugar de tiempo wallclock en la mayoría de plataformas, que debe eliminar las fallas ocasionales debidas a la carga picos de otros procesos.
  • (ticket # 308)
  • pruebas fallidas Fix debido a SKIP_TEST_FOR_BACKEND (& quot; inmemory & quot;) no saltarse cuando debería debido a comparar cadenas de char con == (en el tronco el valor de retorno se está probando es std :: string en lugar de const char *)
  • Mejorar la cobertura de la prueba en varios casos de esquina.
  • consistency2 testcase Fix para realmente ser ejecutado (afortunadamente pasa).
  • En los casos de prueba generados, llame get_description () en el objeto predeterminado construida de cada clase para asegurarse de que funciona (y no trata de eliminar la referencia NULL, o falla alguna afirmación, etc). Todas las clases actualmente controladas están bien - esto es para evitar regresiones futuros o tales problemas con nuevas clases
  • .
  • En la acumulación cobertura de la prueba, utilice & quot; - la cobertura de & quot; en lugar de & quot; -fprofile-arcos -ftest cobertura & quot;.
  • El instrumento de prueba ahora tiene el backend inmemory marcado apoyo de los metadatos especificado por el usuario (aparte de iteración sobre claves de metadatos) como.
  • matcher:
  • Si una consulta contiene una subconsulta MatchAll, compruebe antes de la comprobación de los otros términos, de modo que el bucle que comprueba cuántos términos partido puede salir temprano si todo el partido.
  • Cuando un OR o ANY_MAYBE decayeron a una Y, estábamos intercambiando cuidadosamente a los niños para la eficiencia máxima, pero la condición se invirtió así que estábamos en realidad empeorar las cosas. Esto fue notado porque se traduce en la misma consulta se ejecuta más rápido cuando se les pidió más resultados para!
  • Sólo construir el termname a termfreq y mapa de peso por primera subdatabase lugar de reconstruirla para cada uno. Asimismo, no copiar este mapa para devolverlo. Esto debería acelerar las búsquedas un poco, sobre todo los mayores de múltiples bases de datos.
  • Si un submatcher falla pero ErrorHandler nos dice que debemos seguir sin ella, sólo tiene que utilizar un puntero NULL para estar en lugar de asignar un maniquí objeto especial lugar titular.
  • Eliminar AndPostList, a favor de MultiAndPostList. AndPostList sólo se utilizó como producto de desintegración (por AndMaybePostList y OrPostList), y no parece ser más rápido. Extracción reduce la presión caché de la CPU, y es menos código que mantener.
  • cheque de llamadas () en lugar de skip_to () en la rama opcional de AND_MAYBE.
  • backend pedernal:
  • Se arregla un error en TermIterator :: skip_to () sobre las claves de metadatos.
  • backend remoto:
  • Fix opción --interface xapian-tcpsrv para trabajar en MacOS X (ticket # 373).
  • typo Fix que causamos nosotros para volver la docid en lugar del peso máximo de un documento desde un partido remoto podría volver! Esto podría haber dado lugar a resultados erróneos cuando se buscan varias bases de datos con el servidor remoto, pero probablemente lo general no importa como con BM25 los pesos son generalmente pequeñas (a menudo todo & # X3c; 1), mientras que docIDs son inevitablemente & # X3e; = 1 .
  • backend inmemory:
  • El backend inmemory no soporta la iteración de llaves de metadatos. Tratar de hacer lo utiliza para dar una iteración vacío, pero ahora se ha fijado para lanzar
  • UnimplementedError (y esta limitación ha sido ahora documentado).
  • Sistema de construcción:
  • Eliminar una gran cantidad de inclusiones de cabecera no utilizados y un poco de código no utilizado que debería hacer que la construcción más rápido y un poco más pequeño.
  • Fix compilar bajo --disable-backend-pedernal, --disable-backend-remoto y --disable-backend-inmemory.
  • No retire ninguna fuente construidas en & quot; make clean & quot; incluso bajo-mantenedor-mode --make como que rompe cambiar un árbol lejos de modo mantenedor con: hacer distclean; ./ configure
  • configure: Habilitar más advertencias del CCG - & quot; -Woverloaded virtual & quot; para todas las versiones, & quot; -Wstrict-null-centinela & quot; para 4.0+, & quot; -Wlogical-op -Wmissing-declaraciones & quot; para 4.3+. Cabe destacar que & quot; -Wmissing-declaraciones & quot; capturado ese consistency2 no se está ejecutando.
  • A nivel interno, fijar los pocos lugares donde pasamos std :: cadena de valor a pasar por referencia const en lugar (excepto cuando necesitamos una copia modificable de todos modos) como la evaluación comparativa muestra que la referencia const es ligeramente más rápido y genera menos código con referencia de GCC contados aplicación std :: string - con una implementación no referencia contado, referencia constante debería ser mucho más rápido. (Ticket # 140)
  • documentación:
  • Instalar:. Probamos ya no regularmente construir con GCC 2.95.4 y estamos elevando la versión mínima requerida para GCC 3.1 para 1.1.x Xapian

  • maxitems
  • Documento lo paso = 0 a Peticiones de ofertas :: get_mset () hace.
  • docs / queryparser.html: Añadir ejemplos de la utilización de un prefijo de una frase o subexpresión
  • .
  • comentarios doxygen correctos para funciones de metadatos de usuario:. Base de datos :: get_metadata () throw UnimplementedError pero WritableDatabase :: set_metadata () lata
  • Documento que bases de datos :: metadata_keys_begin () devuelve un iterador final si el backend no soporta metadatos.
  • HACKING:. Actualizar la lista de paquetes de Debian / Ubuntu necesarias para un entorno de desarrollo
  • depurar código:
  • Fix construir con --enable-debug.
  • Añadido algunos más afirmaciones.

¿Qué hay de nuevo en la versión 1.0.11:

  • Esta versión corrige varios bugs y añade soporte para Omega para indexar 2.007 formatos de MS Office y archivos XPS.

¿Qué hay de nuevo en la versión 1.0.10:

  • Esta versión corrige un posible caso de corrupción de base de datos si el disco se llena mientras se escribe a cabo los cambios.
  • El fichero de bloqueo para una base de datos de pedernal está creado utilizando la configuración de umask.
  • Anteriormente, no era posible abrir una base de datos de pedernal para actualización si era propiedad de otro usuario, incluso con permisos suficientes a través de & quot; grupo & quot; o & quot; otro & quot;.
  • Componer una consulta OP_NEAR con dos subconsultas no plazo ahora lanza UnimplementedError lugar de AssertionError.

¿Qué hay de nuevo en la versión 1.0.9:

  • corrección de ortografía es ahora más rápido. (Se midió una velocidad 15% más).
  • Dos errores causados ​​por el exceso de precisión en x86 Linux han sido corregidos.
  • Consultas :: MatchAll ahora da el mismo peso a todos los documentos.
  • Un accidente mientras que la compactación de la tabla de deletreo se ha solucionado.
  • El ejemplo copydatabase ahora copias metadatos usuario también.
  • El binario CGI omega ahora las capturas y los informes std :: excepción.

Comentarios a la Xapian and Omega

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!