Sphinx Search: Free open-source SQL full-text search engine (Parte 1 - Instalação)

Sphinx é um motor de pesquisa de texto completo, distribuído sob a licença GPL versão 2. Se está precisando de uma pesquisa rápida no conteúdo de um banco de dados, então certamente vai precisar do Sphinx Search.

[ Hits: 10.335 ]

Por: Candido Tominaga em 14/05/2008


Parte 1 - Instalação do Sphinx Search



Primeiramente, somente darei a introdução de instalação do Sphinx Search, então em artigos posteriores tentarei colocar algo a mais.

Aqui vai o 'HowTo' para instalar o sphinx e rodá-lo como usuário normal do Linux.

Para quem não gosta muito de inglês, veja a página traduzida para o português do Sphinx Search (http://www.qprocura.cjb.net/sphinx-search/).

Dados Técnicos:
  • Estou usando Debian 4 (Etch) + pacotes de compilação;
  • Distribuição de uso desta compilação: Red Hat Enterprise Linux AS release 3.

Como instalar Sphinx - Usuário comum

Neste artigo descrevo de forma simplória a instalação do sphinx search. Neste, já considero que você já tenha os executáveis e bibliotecas necessárias para fazer a compilação de programas.

Baixar o código:
A versão atual que estou fazendo este tutorial é a Sphinx-0.9.8-rc2 (r1234; Mar 29, 2008)

http://www.sphinxsearch.com/downloads/sphinx-0.9.8-rc2.tar.gz

No Linux:

# wget http://www.sphinxsearch.com/downloads/sphinx-0.9.8-rc2.tar.gz

Extrair o arquivo TAR.GZ:

# tar xzvf sphinx-0.9.8-rc2.tar.gz
# cd sphinx-0.9.8-rc2


Configurando:

Editar o arquivo configure:

# vim configure

Na linha 256 aonde tem a variável ac_default_prefix, mude para /home/sphinx ou a pasta do usuário que vai executar o sphinx (ex.: /home/joao).

Rode o configure:

# ./configure

Execute o comando para compilar e instalar:

# make; make install

Enviar para o servidor aonde será executado o sphinx, usei o scp para enviar:

# scp -r /home/sphinx/* usuario@dominio.com.br:/home/sphinx

Teste de execução:

No servidor aonde está sendo executado, verificar se não faltam as bibliotecas para executar o indexer do sphinx. Para isso, use o comando ldd:

# cd /home/sphinx/bin/
# ldd indexer


O resultado no meu caso foi assim:

linux-gate.so.1 => (0xffffe000)
libmysqlclient.so.15 => /usr/lib/libmysqlclient.so.15 (0xb7de2000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7cfd000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7cd7000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7ccc000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7b9b000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7b89000)
libcrypt.so.1 => /lib/tls/i686/cmov/libcrypt.so.1 (0xb7b5b000)
libnsl.so.1 => /lib/tls/i686/cmov/libnsl.so.1 (0xb7b45000)
libz.so.1 => /usr/lib/libz.so.1 (0xb7b30000)
/lib/ld-linux.so.2 (0xb7fc9000)

Verifique se no host que será usado o sphinx tem estes arquivos. Senão, copie para o /home/sphinx/bin/.

# cp /usr/lib/libstdc++.so.6 /home/sphinx/bin/

...
(no meu caso faltaram os arquivos libcrypt.so.1, libc.so.6, libm.so.6 e libstdc++.so.6)

Envie o arquivos para o servidor e então faça o teste:

# cd /home/sphinx/bin/
# LD_LIBRARY_PATH=. ./indexer


Se retornar algo assim depois de executar o indexer:

Sphinx 0.9.8-rc2 (r1234)
Copyright (c) 2001-2008, Andrew Aksyonoff

Usage: indexer [OPTIONS] [indexname1 [indexname2 [...]]]

Então parabéns, já está funcionando!

Agora é só criar o arquivo conf, baseado no /home/sphinx/etc/sphinx.conf.dist.

Arquivo sphinx.conf (ver o conf de exemplo na seção de conf).

Criar o arquivo /home/sphinx/etc/sphinx.conf.

Criando índices:

# indexer --config /home/sphinx/etc/sphinx.conf --all --rotate

A opção --rotate serve se o searchd estiver rodando (o daemon).

Ahh! Na primeira vez que indexar uma uma opção de configuração (que está no sphinx.conf) vão aparecer uns arquivos no /home/sphinx/var/data/*.new.* , então execute a linha abaixo nesta pasta:

# for i in *.new.*;do j=`echo $i | sed s,\.new,,g`; echo $j; mv $i $j; done

Rodando/iniciando o Daemon:

# cd /home/sphinx/bin/
# LD_LIBRARY_PATH=. ./searchd


Lembrando: O arquivo conf está na seção de conf (sphinx.conf).

Na parte II descreverei sobre o uso. Até breve.

   

Páginas do artigo
   1. Parte 1 - Instalação do Sphinx Search
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalando o Caché (banco de dados pós-relacional)

Administrar um servidor MS SQL pelo Linux

Elasticsearch na saúde

JOINS - Uma introdução a JOINS em bancos de dados de forma didática

MySQL + Amarok: dupla poderosa

  
Comentários
[1] Comentário enviado por candido1212 em 26/10/2008 - 00:39h

tinha esquecido deste detalhe, do --prefix

Na parte aonde diz, não é preciso fazer assim
"Na linha 256..."

faça assim:
você pode colocar na linha de comando

./configure --prefix=/caminho/da/instalacao/do/sphinx

Ex.:

./configure --prefix=/home/joao

nesta pasta será criada /home/joao é claro, depois do 'make install'
bin
etc
var



[2] Comentário enviado por candido1212 em 29/10/2008 - 09:33h

Exemplo de um site funcionando com o sphinxsearch

http://www.qprocura.com.br/veiculos/

[3] Comentário enviado por candido1212 em 04/09/2009 - 17:30h

Veja um complemento para compilar o sphinxsearch

http://snippets.aktagon.com/snippets/180-How-to-install-and-use-the-Sphinx-search-engine-and-acts-as...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts