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.522 ]

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

Web Mining

Administrar um servidor MS SQL pelo Linux

Tutorial Kettle

Utilizando arquivos Access (.mdb) no seu Linux

Exportando e importando confs do Putty em Windows

  
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