Cómo instalar y configurar Sphinx en Ubuntu 16.04, 14.04

Cómo instalar y configurar Sphinx en Ubuntu 16.04, 14.04

Sphinx es un servidor de búsqueda de texto completo simple, relevante y de código abierto. Está escrito en lenguaje de programación C ++ y funciona con Linux y otros sistemas operativos populares. Este tutorial lo ayudará a instalar y configurar el servidor de búsqueda de texto completo de Sphinx en Ubuntu 16.04, 14.04 sistemas operativos LTS.

Requisitos previos

Antes de comenzar esta guía, debe tener los siguientes.

  • Servidor ubuntu con acceso a sudo
  • Servidor MySQL pre instalado

Paso 1 - Instale Sphinx

Instalar Sphinx en Ubuntu es fácil porque está en el repositorio de paquetes nativos. Instálelo utilizando el Administrador de paquetes APT-Get en su sistema Ubuntu.

sudo add-apt-repository pPA: construye/sphinxsearch-rel22 sudo apt-get actualización sudo apt-get instalación sphinxsearch 

Paso 2 - Importar base de datos MySQL

Importemos el archivo SQL de muestra en la base de datos.Primero, cree una base de datos llamada Prueba en su servidor MySQL, después de eso, restaure la base de datos proporcionada por el paquete de búsqueda Sphinx.

sudo mysqladmin -u root -p crea prueba sudo mysql -u root -p prueba < /usr/share/doc/sphinxsearch/example-conf/example.sql 

Paso 3 - Configurar Sphinx

Edite la configuración de Sphinx como se muestra a continuación y edite para la configuración de conexión MySQL como se muestra a continuación.

sudo vi/etc/sphinxsearch/sphinx.confusión 
Fuente Src1  # Tipo de fuente de datos. Obligatorio, sin valor predeterminado#tipos conocidos son MySQL, PGSQL, MSSQL, XMLPIPE, XMLPIPE2, ODBC Tipo = MySQL ######################### ######################################## ## Configuración SQL (para 'MySQL 'y' tipos de PGSQL ') ####################################### #######################. Opcional, el valor predeterminado es 3306 

Paso 4 - Ejecutar indexador

Ejecute el indexador para crear el índice de texto completo a partir de sus datos. El indexador es la primera de las dos herramientas principales como parte de Sphinx. Funciona para recopilar los datos que se pueden buscar. Verá los resultados como a continuación.

Sudo indexador: todo Sphinx 2.2.11-ID64 liberación (95AE9A6) Copyright (c) 2001-2016, Andrew Aksyonoff Copyright (c) 2008-2016, Sphinx Technologies Inc (http: // sphinxsearch.com) usando el archivo de configuración '/etc/sphinxsearch/sphinx.conf '... Índice de indexación' test1 '... recopilado 4 documentos, 0.0 MB ordenado 0.0 mhits, 100.0% Total de 4 documentos, 193 bytes Total 0.006 seg, 30791 bytes/seg, 638.16 DOCS/SEC Índice de indexación 'test1stemmed' ... recopilado 4 documentos, 0.0 MB ordenado 0.0 mhits, 100.0% Total de 4 documentos, 193 bytes Total 0.001 seg, 99382 bytes/seg, 2059.73 Docs/Sec Índice no plano 'Dist1' ... omitir el índice no plano 'RT' ... Total 8 lecturas, 0.000 segundos, 0.1 kb/llamada avg, 0.0 msec/llamado AVG Total 24 escribe, 0.000 segundos, 0.1 kb/llamada avg, 0.0 msec/llamar avg 

Paso 5 - Sphinx inicial

Además, configure su servidor Sphinx para iniciar automáticamente en el arranque del sistema. Use el siguiente comando para establecer comenzar a sí.

sudo sed -i 's/start = no/start = yes/g'/etc/default/sphinxsearch 

Ahora también inicie el servicio por primera vez y verifique el estado.

Servicio SphinxSearch Start Service SphinxSearch Status 

También puede configurar el indexador en su crontab para ejecutarlo en un intervalo regular. El siguiente Crontab funcionará cada hora.

0 * * * */usr/bin/indexer --dotate -todo 

Paso 6 - Trabajar con Sphinx

Ejecutemos algunas consultas en su servidor Sphinx. Primero conecte al servidor Sphinx MySQL utilizando el siguiente OCMMand.

mysql -h0 -p9306 

Ahora ejecute uno por un comando a continuación y vea los cambios. Esto es solo para tu propio aprendizaje.

mysql> select * from test1 where coincida ('documento'); mysql> insertar en valores RT (1, 'agregar', 'texto de muestra aquí', 11); mysql> insertar en valores RT (2, 'agregar algo más', 'texto de muestra aquí', 22); MySQL> Seleccione GID/11 de RT Where Match ('Sample') Group por GID; mysql> select * de RT Order por GID DESC; mysql> select *, weight () de test1 donde coincida ('"documento uno"/1'); mysql> show meta; mysql> set perfile = 1; mysql> select * de test1 donde id en (1,2,4); mysql> show perfil; mysql> seleccionar ID, ID%3 IDD de Test1 donde coincida ('esto es | nada') grupo por idd; mysql> show perfil; mysql> seleccione ID de Test1 donde coincida ('¿Es este un buen plan?'); MySQL> Show Plan; mysql> select Count (*) de test1; MySQL> Palabras clave de llamada ('One Two Three', 'Test1'); MySQL> Palabras clave de llamada ('One Two Three', 'Test1', 1); MySQL> Mostrar tablas;