Como instalar e configurar a Esfinge no Ubuntu 16.04, 14.04

Como instalar e configurar a Esfinge no Ubuntu 16.04, 14.04

Esfinge é um servidor de pesquisa de texto completo simples, relevante e de código aberto. Está escrito na linguagem de programação C ++ e trabalha com Linux e outros sistemas operacionais populares. Este tutorial ajudará você a instalar e configurar o servidor de pesquisa de texto completo Sphinx no Ubuntu 16.04, 14.04 LTS Operating Systems.

Pré -requisitos

Antes de começar este guia, você deve ter os seguintes.

  • Servidor Ubuntu com acesso sudo
  • Pré instalado MySQL Server

Etapa 1 - Instale a Esfinge

Instalar a Esfinge no Ubuntu é fácil porque está no repositório de pacotes nativos. Instale-o usando o gerenciador de pacotes APT-Get no seu sistema Ubuntu.

sudo add-aprop-repository ppa: construtas/sphinxSearch-Rel22 sudo apt-get update sudo apt-get install sphinxsearch 

Etapa 2 - Importar banco de dados MySQL

Vamos importar o arquivo SQL da amostra para o banco de dados.Primeiro, crie um banco de dados chamado teste em seu servidor MySQL, depois de restaurar o banco de dados fornecido pelo pacote de pesquisa de Sphinx.

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

Etapa 3 - Configure a Esfinge

Edite a configuração da Esfinge como abaixo e edite para a configuração de conexão MySQL como mostrando abaixo.

sudo vi/etc/sphinxsearch/sphinx.conf 
fonte src1  # tipo de fonte de dados. obrigatório, nenhum valor padrão#tipos conhecidos são mysql, pgsql, msSQL, xmlpipe, xmlpipe2, odbc type = mysql ##################################d##############################################################################################pipe2, odbc ############################################## ## SQL Settings (para 'mysql Tipos 'e' pgsql ') ############################################### ############################Alguns parâmetros diretos para os tipos de origem sql sql_host = localhost sql_user = root sql_pass = secret sql_db = teste sql_port = 3306# Opcional, o padrão é 3306 

Etapa 4 - Running Indexer

Execute o indexador para criar o índice de texto completo a partir de seus dados. O indexador é o primeiro das duas principais ferramentas como parte da Esfinge. Funciona para coletar os dados que serão pesquisáveis. Você verá os resultados como abaixo.

Indexador sudo -All Sphinx 2.2.11-ID64-RELENDO (95AE9A6) Copyright (c) 2001-2016, Andrew Aksyonoff Copyright (c) 2008-2016, Sphinx Technologies Inc (http: // sphinxsearch.com) usando o arquivo de configuração '/etc/sphinxsearch/sphinx.conf '… indexing Índice' test1 '… coletado 4 docs, 0.0 MB classificado 0.0 mhits, 100.0% feito total 4 docs, 193 bytes Total 0.006 Sec, 30791 Bytes/Sec, 638.16 Índice de índice de documentos/s 'test1stemmed'… coletado 4 docs, 0.0 MB classificado 0.0 mhits, 100.0% feito total 4 docs, 193 bytes Total 0.001 Sec, 99382 Bytes/Sec, 2059.73 DOCs/Seg Ignorando Índice Não-Plano 'Dist1'… Ignorando Índice Não-Plano 'RT'… Total 8 Reads, 0.000 s, 0.1 kb/ligue para avg, 0.0 ms ms/ligue para AVG Total 24 gravações, 0.000 s, 0.1 kb/ligue para avg, 0.0 mseg/ligue para avg 

Etapa 5 - Sphinx inicial

Além disso, configure o servidor Sphinx para iniciar automaticamente a inicialização do sistema. Use o comando abaixo para configurar o SIM.

sudo sed -i 's/start = não/start = yes/g'/etc/default/sphinxSearch 

Agora também inicie o serviço.

Serviço SphinxSearch Start Service SphinxSearch Status 

Você também pode configurar o indexador em seu crontab para executá -lo em um intervalo regular. O Crontab abaixo será executado a cada hora.

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

Etapa 6 - Trabalhando com Esfinge

Vamos executar algumas consultas no seu servidor Sphinx. Primeiro, conecte -se ao SPHINX MySQL Server usando o seguinte OCMMAND.

MySQL -H0 -P9306 

Agora execute um por um comando abaixo e veja as mudanças. Isso é apenas para o seu próprio aprendizado.

mysql> selecione * do teste1 onde corresponde ('documento'); MySQL> Inserir nos valores de RT (1, 'Adicionar', 'Texto da amostra aqui', 11); MySQL> Inserir nos valores de RT (2, 'adicionando um pouco mais', 'Texto da amostra aqui', 22); MySQL> Selecione GID/11 do grupo RT WHEN MACK ('SAMOSO') por GID; mysql> selecione * da ordem rt por gid desc; mysql> selecione *, peso () do teste1 onde corresponde ('"Documento um"/1'); MySQL> Show meta; mysql> set perfil = 1; mysql> selecione * do teste1 onde ID em (1,2,4); MySQL> Mostrar perfil; MySQL> Selecione ID, ID%3 IDD FROM TEST1 WHERE MACK ('This is | Nothing') Grupo por IDD; MySQL> Mostrar perfil; mysql> selecione ID do teste1 onde corresponde ('Este é um bom plano?'); MySQL> Mostrar plano; mysql> selecione count (*) do teste1; mysql> ligue para palavras -chave ('ONE TRÊS TRÊS', 'TEST1'); mysql> ligue para palavras -chave ('ONE TRÊS TRÊS', 'TEST1', 1); MySQL> Mostrar tabelas;