| Próxima revisión | Revisión previa |
| instalacion_y_configuracion_de_sphinx_para_orfeo [2024/05/28 16:13] – creado - editor externo 127.0.0.1 | instalacion_y_configuracion_de_sphinx_para_orfeo [2024/10/18 16:15] (actual) – kasandra |
|---|
| ===== Descripción ===== | ===== Descripción ===== |
| |
| Como agregar la caracteristica de full-text-search para orfeo\\ | Como agregar la característica de full-text-search para Orfeo 6 |
| |
| ===== Prerequistos ===== | ===== Prerequistos ===== |
| |
| Un linux kuine listo con orfeo y acceso a la extension busqueda OCR en el repositorio SVN de Skina\\ | Un linux kuine listo con orfeo y acceso a la extensión búsqueda OCR en el repositorio SVN de Skina |
| \\ | |
| Instalar dependencias para los extractores\\ | Instalar dependencias para los extractores |
| \\ | |
| $> apt-get install bc lynx unconv poppler-utils\\ | apt-get install bc lynx unoconv poppler-utils |
| \\ | |
| |
| |
| ==== 1. Agregue las tablas ==== | ==== 1. Agregue las tablas ==== |
| |
| Necesita los archivos datosocr.sql sphinx_index_meta.sql sphinx_index_remove.sql\\ | 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\\ | Edite el los *.sql .. y cambie el usuario orfeousr .. por el necesario ejm: demo_usr |
| \\ | |
| Instalelo logueandose como el usuario para forzar el propietario\\ | 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/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_meta.sql |
| $> psql -h localhost -d demo_odb -U demo_usr -W -f /tmp/sphinx_index_remove.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\\ | OJO: 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\\ | OJO: En OrfeoNG las tablas cambian y ya vienen incluidas por defecto\\ |
| |
| |
| |
| Descargue el instalador de de la 2.2.11 estable\\ | 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/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\\ | 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\\ | 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 ==== | NOTA: No hay nada de lo que hagamos que limite la ejecucion a sphinx 2 ... o sea debe poderse instalar sphinx3 desde repositorios |
| |
| El archivo de configuracion sphinx.conf modelo esta en trunk/instalacion/PSQL sphinx.conf (MSSQL, MySQL - MariaDB,ORACLE) copielo a /etc/sphinx/\\ | ==== 3. Copie el archivo de configuración ==== |
| |
| | El archivo de configuración 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)\\ | |
| \\ | Y cambie los datos de la base de datos .. nombre, usuario y contraseña (puede sacarlos del config.php de orfeo) |
| $%%**%% OJO .. cheque los paths que coincidan con /var/lib/sphinx/dataorfeo\\ | |
| \\ | OJO .. cheque los paths que coincidan con /var/lib/sphinx/dataorfeo |
| $%%**%% Si Usa [[egroupware/index.php?menuaction=wiki.wiki_ui.view&page=ODBC|ODBC]] (MSSQL y [[https://datacadamia.com/db/oracle/odbc_linux|ORACLE]]) .. vea el wiki para ponerlo a funcionar\\ | |
| \\ | Si Usa ODBC (MSSQL y [[https://datacadamia.com/db/oracle/odbc_linux|ORACLE]]) .. vea el wiki para ponerlo a funcionar |
| $%%**%% Dependiendo del numero de documentos, depronto es buena idea cambiar el parametro sql_range_step | |
| | %%**%% Dependiendo del numero de documentos, de pronto es buena idea cambiar el parámetro sql_range_step |
| |
| ==== 4. Cree el directorio de los indices ==== | ==== 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)\\ | 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/\\ | mkdir /var/lib/sphinx/dataorfeo/ |
| $> chown -R sphinx:sphinx /var/lib/sphinx/dataorfeo/\\ | chown -R sphinx:sphinx /var/lib/sphinx/dataorfeo/ |
| $> mkdir /var/lib/sphinx/indice/\\ | mkdir /var/lib/sphinx/indice/ |
| $> chown -R sphinx:sphinx /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\\ | O en Debian |
| \\ | |
| $> mkdir /var/lib/sphinx/data\\ | mkdir /var/lib/sphinxsearch/dataorfeo/ |
| $> ln -s /var/lib/sphinx/data /var/data\\ | chown -R sphinxsearch:sphinxsearch /var/lib/sphinxsearch/dataorfeo/ |
| $> chown -R sphinx:sphinx /var/lib/sphinx | 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 |
| | |
| | NOTA: Hasta aquí están 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 ==== | ==== 5. Debe funcionar ==== |
| |
| Pruebe corriendo el indexador \\ | 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\\ | Nota: La primera indexación debe crear los archivos que se usan de indice el el directorio /var/lib/sphinx/dataorfeo |
| \\ | |
| $> /usr/bin/indexer --rotate --config /etc/sphinx/sphinx.conf --all\\ | /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\\ | 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 | que alguna vez fue indexado, por eso se usa para inicializar los indices |
| |
| ==== 6. Verfique que el servicio esta arriba ==== | ==== 6. Verfique que el servicio esta arriba ==== |
| |
| $> systemctl enable searchd\\ | $> systemctl enable searchd |
| $> systemctl status searchd\\ | $> systemctl status searchd |
| $> systemctl restart searchd | $> systemctl restart searchd |
| |
| ==== 7. No olvide agregar al cron de sphinx.cron ==== | ==== 7. No olvide agregar al cron de sphinx.cron ==== |
| |
| Copie el sphinx.cron a /etc/cron.d/sphinx\\ | 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\\ | 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\\ | el comando mencionado anteriormente en los cron |
| \\ | |
| |
| |
| ==== 8. Copie el código propio de busquedaOCR en el directorio de orfeo ==== | ==== 8. Copie el código propio de busquedaOCR en el directorio de orfeo ==== |
| |
| cp -Rpd busquedaOCR /var/www/html/orfeo-58/\\ | cp -Rpd busquedaOCR /var/www/html/orfeo-58/ |
| \\ | |
| |
| |
| ===== Trucos ===== | ===== Trucos ===== |
| |
| **Comandos utiles:\\ | ==== 1. Comandos utiles ==== |
| \\ | |
| **Para ingresar al MySQL - MariaDB propio que monta sphinx ejecute en consola (debe tener instalado el cliente de MySQL - MariaDB):**\\ | 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\\ | 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: \\ | 2) Consultar la información dentro del indice "orfeo_ocr " (los resultados 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; \\ | select * from orfeo_ocr; |
| MySQL - MariaDB> select id,anex_desc, ocr from orfeo_ocr limit 100; \\ | select id,anex_desc, ocr from orfeo_ocr limit 100; \\ |
| MySQL - MariaDB> select id from orfeo_ocr where match ('contraseña') limit 100;\\ | 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\\ | 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)\\ | 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\\ | ==== 2. 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]\\ | 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]\\ | indexer --buildstops word_freq.txt 3000 --config /etc/sphinx/sphinx.conf --all |
| \\ | |
| $> indextool --dumpdict orfeo_ocr [Entrega cada una de las palabras indexadas]\\ | Entrega las sentencias inset que ejecuto por cada registro a indexar, util para ver problemas con acentos |
| | indexer --rotate --config /etc/sphinx/sphinx.conf --all --print-queries |
| | |
| | Entrega cada una de las palabras indexadas\\ |
| | |
| | indextool --dumpdict orfeo_ocr |
| |
| |
| ==== 1. Permisos ==== | ==== 1. Permisos ==== |
| |
| Generalmente lo que tiende a molestar en el proceso de instalacion es la primera ejecución, recuerde primero ejecutar\\ | Generalmente lo que tiende a molestar en el proceso de instalación 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\\ | la primera indexación, tener los directorios de los indices con los permisos adecuados y luego levantar el servicio de sphinx, si tiene algún error, generalmente el comando de indexación es\\ |
| el que le indica que esta saliendo mal.\\ | el que le indica que esta saliendo mal.\\ |
| | |
| | ==== 2. ERROR: nothing to do. ==== |
| |
| |
| |
| |
| ---- | |
| |
| __**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. | |
| |
| |