Locaweb - Edição 43 - page 60

lw
programação
60
locaweb
Sphinx
tempo real, fornecendo, portanto,
suporte à indexação offline e on-the-fly.
Há diversos tipos para os índices
além de texto simples, como IDs de
produtos, nomes de empresas e preços.
Assim, é possível fazer a indexação
de forma a melhorar a qualidade das
buscas e diminuir a sobrecarga no
banco de dados.
O Sphinx pode acessar e indexar
diretamente os dados no MySQL,
PostgreSQL, Oracle, Microsoft SQL
Server, SQLite, Drizzle e todos os
outros bancos que suportam ODBC
(Open Database Connectivity).
Além de indexar dados por SQL, é
possível fornecer dados ao indexador
em lote por um simples arquivo
XML chamado XMLpipe. Também
é possível fazer uma indexação
incremental em tempo real por uma
inserção direta.
das palavras-chave, Sphinx faz uma
análise de proximidade da palavra
e classifica as frases quanto ao
maior número de correspondências,
deixando as correspondências
perfeitas no topo da lista. O
ranqueamento é flexível, permitindo
que você escolha quais funções
relevantes já disponíveis no Sphinx
serão usadas, dar pesos a elas e até
mesmo permite que você crie suas
próprias funções.
Há suporte para codificação SBCS
(Single Byte Character Set) e UTF-8, o
que significa que todas as linguagens
Customização
das buscas
Há uma sintaxe avançada para
as buscas que combina operadores
booleanos, frases, substrings, além
de propriedades como proximidade,
posicionamento, ordenação estrita e
correspondência exata.
Além disso, com Sphinx as
buscas não se limitam a apenas ter
palavras-chave. Essencialmente
todas as características de um SQL
SELECT são suportadas. É possível,
por exemplo, realizar operações
aritméticas com as expressões, aplicar
funções como mínimo, máximo,
média e soma, fazer agregações,
utilizar condições “WHERE”, além de
ordenar e agrupar com “ORDER BY”
e “GROUP BY”. Não limitando a
apenas o ranqueamento estatístico
Quando usado como daemon,
o Sphinx suporta o protocolo
cliente/servidor MySQL, cuja
documentação pode ser encontrada
no seguinte endereço:
.
Também é possível usar o dialeto
SphinxQL, cuja referência pode
ser encontrada em:
.
BIBLIOTECAS
Para quem deseja saber mais
detalhes a respeito de dados
de desempenho, Jon Schutz,
o desenvolvedor de Sphinx,
fez um relatório completo
sobre testes de comparação
para verificar o efeito da
distribuição dos índices entre
vários cores de uma CPU ou
múltiplas CPUs.
Além disso,
foram variados os modelos de
multiprocessamento do Sphinx.
Esse relatório, que contém vários
gráficos bem intuitivos, pode ser
visto em:
.
RELATÓRIO
São feitas mais de 30 milhões de buscas por
dia em um único site, como o Craigslist
Infegy: graças ao Shinx, site caça mais de 22
bilhões de atualizações de usuários
A página de ofertas Groupon é outra
gigante da web que utiliza o Sphinx
Com Sphinx,
as buscas não
se limitam a
keywords: todas
características
de SQL SELECT
são suportadas
1...,50,51,52,53,54,55,56,57,58,59 61,62,63,64,65,66,67,68
Powered by FlippingBook