GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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 Sphinx en los sistemas operativos Ubuntu 16.04, 14.04 LTS.

Requisitos

Antes de comenzar esta guía, debe tener lo siguiente.

  • Servidor Ubuntu con acceso sudo
  • Servidor MySQL preinstalado

Paso 1:Instalar Sphinx

Instalar Sphinx en Ubuntu es fácil porque está en el repositorio de paquetes nativo. Instálelo usando el administrador de paquetes apt-get en su sistema Ubuntu.

sudo add-apt-repository ppa:builds/sphinxsearch-rel22
sudo apt-get update
sudo apt-get install sphinxsearch

Paso 2:importar la base de datos MySQL

Importemos el archivo SQL de muestra a la base de datos. Primero, cree una base de datos llamada test en su servidor MySQL, luego restaure la base de datos proporcionada por el paquete de búsqueda sphinx.

sudo mysqladmin -u root -p create test
sudo mysql -u root -p test < /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 la configuración de conexión de MySQL como se muestra a continuación.

sudo vi /etc/sphinxsearch/sphinx.conf
source src1
{
	# data source type. mandatory, no default value
	# known types are mysql, pgsql, mssql, xmlpipe, xmlpipe2, odbc
	type                    = mysql

	#####################################################################
	## SQL settings (for 'mysql' and 'pgsql' types)
	#####################################################################

	# some straightforward parameters for SQL source types
	sql_host                = localhost
	sql_user                = root
	sql_pass                = secret
	sql_db                  = test
	sql_port                = 3306  # optional, default is 3306

Paso 4:Ejecutar el 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 podrán buscar. Verá los resultados como a continuación.

sudo indexer --all 

Sphinx 2.2.11-id64-release (95ae9a6)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/etc/sphinxsearch/sphinx.conf'...
indexing index 'test1'...
collected 4 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 4 docs, 193 bytes
total 0.006 sec, 30791 bytes/sec, 638.16 docs/sec
indexing index 'test1stemmed'...
collected 4 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 4 docs, 193 bytes
total 0.001 sec, 99382 bytes/sec, 2059.73 docs/sec
skipping non-plain index 'dist1'...
skipping non-plain index 'rt'...
total 8 reads, 0.000 sec, 0.1 kb/call avg, 0.0 msec/call avg
total 24 writes, 0.000 sec, 0.1 kb/call avg, 0.0 msec/call avg

Paso 5:Iniciar Esfinge

Además, configure su servidor Sphinx para que se inicie automáticamente en el arranque del sistema. Utilice el siguiente comando para establecer INICIO en 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.

service sphinxsearch start
service sphinxsearch status

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

0 * * * * /usr/bin/indexer --rotate --all

Paso 6:trabajar con Sphinx

Ejecutemos algunas consultas en su servidor Sphinx. Primero conéctese al servidor Sphinx MySQL usando el siguiente comando.

mysql -h0 -P9306

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

mysql> SELECT * FROM test1 WHERE MATCH('document');
mysql> INSERT INTO rt VALUES (1, 'adding', 'sample text here', 11);
mysql> INSERT INTO rt VALUES (2, 'adding some more', 'sample text here', 22);
mysql> SELECT gid/11 FROM rt WHERE MATCH('sample') GROUP BY gid;
mysql> SELECT * FROM rt ORDER BY gid DESC;
mysql> SELECT *, WEIGHT() FROM test1 WHERE MATCH('"document one"/1');
mysql> SHOW META;
mysql> SET profiling=1;
mysql> SELECT * FROM test1 WHERE id IN (1,2,4);
mysql> SHOW PROFILE;
mysql> SELECT id, id%3 idd FROM test1 WHERE MATCH('this is | nothing') GROUP BY idd;
mysql> SHOW PROFILE;
mysql> SELECT id FROM test1 WHERE MATCH('is this a good plan?');
mysql> SHOW PLAN;
mysql> SELECT COUNT(*) FROM test1;
mysql> CALL KEYWORDS ('one two three', 'test1');
mysql> CALL KEYWORDS ('one two three', 'test1', 1);
mysql> SHOW TABLES;

Ubuntu
  1. Cómo instalar y configurar Redis en Ubuntu 18.04

  2. Cómo instalar y configurar Redmine en Ubuntu 18.04

  3. Cómo instalar y configurar Samba en Ubuntu 18.04

  4. Cómo instalar y configurar Redis en Ubuntu 20.04

  5. Cómo instalar y configurar Jenkins en Ubuntu 20.04

Cómo instalar y configurar Neo4j en Ubuntu 20.04

Cómo instalar y configurar Ubuntu SDK en Ubuntu 16.04 y 14.04

Cómo instalar y configurar PostgreSQL en Ubuntu

Cómo instalar y configurar Hadoop en Ubuntu 20.04

Cómo instalar y configurar Jenkins en Ubuntu

Cómo instalar y configurar Jenkins en Ubuntu 20.04