¡Esta es una revisión vieja del documento!
Instalación y configuración de Sphinx para Orfeo
Descripción
Como agregar la caracteristica de full-text-search para orfeo
Prerequistos
Un linux kuine listo con orfeo y acceso a la extension busqueda OCR en el repositorio SVN de Skina
Instalar dependencias para los extractores
$> apt-get install bc lynx unconv poppler-utils
Instalación y Configuración
1. Agregue las tablas
Necesita los archivos datosocr.sql sphinx_index_meta.sql sphinx_index_remove.sql
Edite el los *.sql .. y cambie el usuario orfeousr .. por el necesario ejm: demo_usr
Instalelo logueandose como el usuario para forzar el propietario
$> psql -h localhost -d demo_odb -U demo_usr -W -f /tmp/datosocr.sql
$> psql -h localhost -d demo_odb -U demo_usr -W -f /tmp/sphinx_index_meta.sql
$> psql -h localhost -d demo_odb -U demo_usr -W -f /tmp/sphinx_index_remove.sql
$** sphinx_index_meta.sql : Esta tabla tiene un registro que funciona como contador si no se carga junto con la estructura, puede fallar la indexación
$** En OrfeoNG las tablas cambian y ya vienen incluidas por defecto
2. Instale sphinx en el equipo.
Descargue el instalador de de la 2.2.11 estable
http://sphinxsearch.com/downloads/sphinx-2.2.11-1.rhel7.x86_64.rpm/thankyou.html
http://sphinxsearch.com/downloads/sphinxsearch_2.2.11-release-1~jessie_i386.deb/thankyou.html
Instale con “rpm -Uvh” en RH o con “dpkg -i ” den Debian
$** No hay nada de lo que hagamos que limite la ejecucion a sphinx 2 … o sea debe poderse instalar sphinx3
3. Copie el archivo de configuracion
El archivo de configuracion sphinx.conf modelo esta en trunk/instalacion/PSQL sphinx.conf (MSSQL, MySQL - MariaDB,ORACLE) copielo a /etc/sphinx/
Y cambie los datos de la base de datos .. nombre, usuario y contraseña (puede sacarlog del config.php de orfeo)
$** OJO .. cheque los paths que coincidan con /var/lib/sphinx/dataorfeo
$** Si Usa ODBC (MSSQL y ORACLE) .. vea el wiki para ponerlo a funcionar
$** Dependiendo del numero de documentos, depronto es buena idea cambiar el parametro sql_range_step
4. Cree el directorio de los indices
Nota: según la versión de linux el directorio puede llamarse sphinx o sphinxsearch (tambien toca cambiarlo en sphinx.conf)
$> mkdir /var/lib/sphinx/dataorfeo/
$> chown -R sphinx:sphinx /var/lib/sphinx/dataorfeo/
$> mkdir /var/lib/sphinx/indice/
$> chown -R sphinx:sphinx /var/lib/sphinx/indice/
O en Debian
mkdir /var/lib/sphinxsearch/dataorfeo/
chown -R sphinxsearch:sphinxsearch /var/lib/sphinxsearch/dataorfeo/
mkdir /var/lib/sphinxsearch/indice/
chown -R sphinxsearch:sphinxsearch /var/lib/sphinxsearch/indice/
OJO dependiendo del tamaño de la base de datos .. es posible que esto toque enviarlo a un directorio diferente
** Hasta aqui estan los modelos de orfeoexpress .. lo que sigue hace falta hacerlo.
El pinche pide un /var/data .. que voy a poner en /var/lib/sphinx/data y pone un link
$> mkdir /var/lib/sphinx/data
$> ln -s /var/lib/sphinx/data /var/data
$> chown -R sphinx:sphinx /var/lib/sphinx
5. Debe funcionar
Pruebe corriendo el indexador
Nota: La primera indexación debe crear los archivos que se usan de indice el el dirrectorio /var/lib/sphinx/dataorfeo
$> /usr/bin/indexer –rotate –config /etc/sphinx/sphinx.conf –all
Nota: Este comando también se puede usar para re-indexar toda la información que se encuentre en la tabla datosocr quitando todo lo
que alguna vez fue indexado, por eso se usa para inicializar los indices
6. Verfique que el servicio esta arriba
$> systemctl enable searchd
$> systemctl status searchd
$> systemctl restart searchd
7. No olvide agregar al cron de sphinx.cron
Copie el sphinx.cron a /etc/cron.d/sphinx
Nota: Dentro del cron se ejecutan dos comandos para sphinx que se encargan de hacer la indexación incremental, no se usa
el comando mencionado anteriormente en los cron
8. Copie el código propio de busquedaOCR en el directorio de orfeo
cp -Rpd busquedaOCR /var/www/html/orfeo-58/
Trucos
Comandos utiles:
**Para ingresar al MySQL - MariaDB propio que monta sphinx ejecute en consola (debe tener instalado el cliente de MySQL - MariaDB):
**1) Ingreso a consultar la db interna de sphinx = MySQL - MariaDB -h 0 -P 9306
2) Consultar la información dentro del indice “orfeo_ocr “ (los resultadpos siempre aparecen limitados a 20 ), ejemplos:
MySQL - MariaDB> select 10_consejos_para_la_resolucion_de_problemas.html acta_de_constitucion_interna_del_proyecto.html active_directory.html administrar_servidores_con_ipmi.html admin_rpms_con_yum.html albasoftware_libre_de_gestion_educativa.html alta_disponibilidad_de_conexion_a_internet.html ansible_administracion_centralizada_de_servidores.html anti_virusanti_spam_y_hardening_de_correo2024.html anti_virusanti_spam_y_hardening_de_correo.html apache2_mod_security.html apacheservidor_de_www.html aplicativos_usando_ldap.html autoconf.html aws_amazon_ec2.html aws_amazon_lambda.html bacula_backup2024.html bacula_backup.html bandwidthd.html bind_dns.html bonding.html cacti.html cambio_contrasena_ldap_ad_por_web.html cambios_recientes.html caracteres_octal_hexa_unicode_html.html centos_sobre_hyperv.html cfengine.html chumne_administrador_de_licencias.html ciclo_de_pruebas_orfeo.html cluster_con_haproxy.html cluster_ldap.html colaborador_del_mes.html comision_de_proyectos_obsoleto.html como_desplegar_remoto_con_un_tunel_ssh.html como_hacer_manual_de_funciones.html como_instalar_spoon.html como_limpiar_cache_dns.html como_publicar_docs.html como_reportar_spam.html como_se_implementa_orfeo_sgd.html compensatorios_obsoleto.html condiciones_generales_de_contrato_de_soporte_v14.html configuracion_de_tomcat_como_modulo_de_apache.html configuracion_de_x_lite_cliente_sip.html configuracion_pidgin.html configuracion_planta_telefonica_voip.html configurar_redes.html consola_serial.html consul_open_participation_ruby.html controlador_de_dominio_secundario_samba4.html convertir_pdf_a_a_pdf_plano.html copiar_disco_por_la_red.html cpanel.html crack_de_wep_con_aircrack_ng.html creacion_servidor_codema.html creacion_usuario_postgres_solo_para_consultas.html crear_instalador_de_windows_facil_con_nsis.html crear_instancias_de_orfeong.html crear_paquetes_deb_y_rpm.html crear_repositorios_de_paquetes_deb_y_rpm.html cuestionario_de_severidad.html cups.html cygwn.html dd_wrt.html declaracion_de_trabajo_sow.html deploy_instancia_de_orfeo_express_5x_en_amazon.html deploy_instancia_de_orfeo_express_6x_en_amazon.html descargar_pagina_web_recursivo.html deshabilite_ipv6.html dhcp_multiples_vlans.html dhcp_server.html dhcp_y_dns_dinamico.html directrices_de_manejo_de_tiquetes_en_mesa_de_ayuda_glpi.html docker.html documentacion_de_codigo.html documentos_de_implementacion_de_orfeo_5x.html documentos_estandar_control_proyectos_desarrollo.html dotproject.html drbd.html drp_plan_de_recuperacion_de_desastres.html dsl_personalizacion.html egroupware_ex_phpgw.html ejabberd.html elastix.html enigmail.html enlightenment.html entidad_de_certificacion_a_mano.html entidad_de_certificacion.html entidad_de_certificacion_openca.html envio_y_recepcion_de_fax_en_asterisk.html errores_modelos.html esquema_backup_ikatta.html estandar_bitacora.html estandar_comunicaciones_por_correo_electronico.html estandar_de_archivos_y_directorios.html estandar_de_interfaz_para_proyectos_de_desarrollo.html estandar_de_manejo_de_cronograma.html estandar_de_revision_de_documentos.html estandar_de_soporte_y_mantenimiento_de_skinatech.html estandares_de_comunicacion_de_soporte.html estandar_estacion_de_trabajo_gnu_linux.html estandar_estacion_de_trabajo_ms_windows.html estandar_firma_skina.html estandar_para_interfaz_de_proyectos_de_desarrollo.html estandar_para_la_creacion_de_bases_de_dato.html example_howto.html exim_mta.html extraccion_de_texto_de_documentos.html fail2ban.html falla_laboral.html fax_server.html fink.html firewalld.html firewall_skina_howto.html flujo_de_trabajo_de_proyecto.html flujo_de_trabajo_de_proyecto_trello.html formatos_de_documentos_estandares_de_skinatech.html freenas.html freenx.html freetds.html ftpproxy.html generar_diccionarios_de_datos_en_workbench.html getfacl_y_setfacl.html getmenu2.html gforge.html git_flow.html git.html gitlab.html glassfish.html glpi10.html glpi95.html gnokii.html gnupg_gpg.html google_cloud_platform.html graylog_consolidador_de_bitacoras.html grub.html hacer_modelo_y_o_backup.html hardening_de_linux.html hearbeat_cluster.html hipergate.html hispaniola_firewall_ikatta.html horario_de_trabajo.html how_to_enviar_html_imagenes_con_php5.html howto.html howto_mon.html howto_php_nuke.html huawei_e220.html ibm_aix_snmp_setup_for_nagios.html ibm_db2.html ids_logchecklogwatchtripwireaideetc.html ilo2_e_ilo3.html implementacion_de_oauth2_google_en_orfeo_ng.html implementacion_de_oauth2_microsoft_en_orfeo_ng.html implementacion_glpi.html indicadores_de_gestion.html informes_semanales.html informix_apache_php.html infraestructura_de_operacion.html instalacion_asterisk_en_centos_53.html instalacion_asterisk_en_.html instalacion_de_modelo_de_servidor_con_minilinux.html instalacion_de_modelo_de_servidor.html instalacion_de_pqrs_en_orfeo_sgd.html instalacion_ldap_smb_34_en_debian_lenny.html instalacion_minima_appliance.html instalacion_minima.html instalacion_r_server_&_r_shiny.html instalacion_r_server_&_r_shiny_server.html instalacion_splunk.html instalacion_y_configuracion_apachephp_con_db2_y_soporte_con_odbc.html instalacion_y_configuracion_de_sphinx_para_orfeo.html from orfeo_ocr;
MySQL - MariaDB> select id,anex_desc, ocr from orfeo_ocr limit 100;
MySQL - MariaDB> select id from orfeo_ocr where match ('contraseña') limit 100;
Consultar directamente en la DB interna de sphinx le permite validar que se cargo realmente desde la tabla datosocr, cuando tiene problemas
como que no encuentra resultados de registros ya cargados (Util cuando las bases de datos dan problemas por la configuración del conjunto de caracteres)
Utilidades de sphinx
$> indexer –buildstops word_freq.txt 3000 –config /etc/sphinx/sphinx.conf –all [Guarda el top de palabras indexadas con un limite de 3000]
$> indexer –rotate –config /etc/sphinx/sphinx.conf –all –print-queries [Entrega las sentencias inset que ejecuto por cada registro a indexar, util para ver problemas con acentos]
$> indextool –dumpdict orfeo_ocr [Entrega cada una de las palabras indexadas]
Problemas
1. Permisos
Generalmente lo que tiende a molestar en el proceso de instalacion es la primera ejecución, recuerde primero ejecutar
la primera indexación, tener los directorios de los indices con los permisos adecuados y luego levantar el servicio de sphinx, si tiene algun error, generalmente el comando de indexación es
el que le indica que esta saliendo mal.
-
Referencias
-
FIN
Advertencia
Este documento es privado y es de u so exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.
==============================================================
Anexos
==============================================================
Configuracion de sphinx usando oracle y ODBC –> sphinx.conf
15-Marzo-2006 J.E.Gomez v1.0 Primera version