Sistemas de busca - imagem: Martin Barraud/OJO ImagesAtire a primeira pedra quem nunca reclamou da busca em sua loja virtual Magento! Os resultados de busca no Magento (e em outras lojas virtuais) costumam deixar a desejar, especialmente em catálogos mal construídos, sem o uso de atributos e jogos de atributos e sem títulos e descrições eficientes. Na busca nativa do Magento, nem adianta mudar os parâmetros (como like, fulltext ou combined) porque os resultados continuarão vindo com uma relevância digna dos primeiros buscadores, na pré-história da internet.

A grande questão é que o Magento busca por todas as palavras e não consegue ranquear por relevância. Assim, uma busca por “suporte para televisão” traz todos os resultados que tenham as palavras suporte OU para OU televisão. Convenhamos que é difícil que algum produto em sua loja virtual não tenha a palavra “para” ou outros termos como “de” e “com”. Com isso, a busca nativa do Magento é aceitável quando se busca um único termo, como “suporte”, mas fica impraticável quando se trabalha com mais de uma palavra.

Pois agora, creio que encontrei uma solução muito interessante e bem acessível. A aheadWorks tem um módulo chamado Busca Avançada (disponível na loja de módulos em português por cerca de R$ 470,00) e se ele não resolve o problema por completo, ele é perfeito para a maioria das lojas em Magento que temos por aqui.

Função do módulo

Eu já havia olhado esse módulo meses atrás, mas a impressão que eu tinha é que ele era complexo e difícil de usar. Confesso que não devo ter sequer lido a descrição porque senão teria resolvido meu problema naquela ocasião. A grande vantagem desse módulo é fazer de modo simples e fácil uma ponte com o mecanismo de busca opensource Sphinx. Assim, o Sphinx substitui a busca nativa do Magento e exibe os seus resultados na página de pesquisa, com uma relevância muito maior.

E a instalação de ambos é realmente simples: o Sphinx é gratuito, roda em Linux e pode ser obtido no site dos desenvolvedores. Você não precisa se preocupar em configurar o Sphinx, basta instalá-lo no servidor e deixá-lo parado – o suporte de seu provedor pode te ajudar nessa instalação e infelizmente essa instalação não está disponível pra quem usar serviços compartilhados. Aí, basta colocar o módulo de Busca Avançada da aheadWorks na loja Magento, habilitá-lo, gerar o índice e voilà, está tudo funcionando e pronto para servir seus clientes com resultados muito mais relevantes.

O índice de pesquisa é outro grande trunfo desse módulo. Como você vê na página de apresentação do módulo, você pode dar pesos aos atributos. Assim, atributos mais importantes podem ter um peso maior na hora de definir a relevância e exibir melhores resultados. O título do produto pode ter peso 100 enquanto a descrição completa tem peso 30 e a descrição resumida, 60. O SKU pode ter peso 10 e o nome na URL, peso 20. Você pode colocar quantos atributos quiser na composição do índice e testar pra ver qual é a combinação que melhor te atende.

Dica: Se não quiser perder tempo, use: Título – 100; Descrição – 30; SKU – 1; Nome na URL – 1. Essa combinação já trará bons resultados.

Cases de estudo

Eu conduzi dois testes em lojas reais para ver como o módulo se comportava (há mais uma loja, mas estou aguardando os resultados ainda, quando tiver posto por aqui ou em nossa fanpage no Facebook). A Severo Roth é cliente de consultoria da Gugliotti Consulting e tinha vários problemas com a busca, a ponto da analista de marketing construir uma série de redirecionamentos via painel para diminuir o transtorno. Já a Doce Vida Diabetes é gerenciada pela Bull Marketing e possui cerca de mil produtos em catálogo, na área de saúde.

Algumas comparações, do antes e depois, fazendo a pesquisa na loja da Severo Roth:

termo Busca Nativa do Magento Busca Avançada da aheadWorks
fio 95 resultados 76 resultados
sem fio 257 resultados 38 resultados
telefone sem fio 268 resultados 3 resultados
headset com tiara 691 resultados 1 resultado
suporte 79 resultados 73 resultados
suporte para tv 644 resultados 34 resultados
impressora laser 30 resultados nenhum resultado
impressora laserjet 30 resultados 1 resultado
central de cerca elétrica 726 resultados nenhum resultado

A melhora é visível, pois além de diminuir a quantidade de resultados e facilitar a procura pelo cliente, a página de resultados tem uma relevância maior. Os primeiros resultados serão aqueles que trazem os termos pesquisados no título do produto e portanto com mais chance de estarem relacionados ao que o cliente está procurando.

Doce Vida Diabetes - imagem: reprodução

A Doce Vida também teve uma melhora considerável. Como seu catálogo é extenso mas foi construído segundo as boas práticas, os atributos têm papel chave na definição da relevância. No exemplo acima, fiz uma busca por “caixa com 25 unidades, uma entrada clássica que na busca nativa traria mais de 700 produtos, pois buscaria por caixa OU com OU 25 OU unidades. Com a Busca Avançada, ele apresentou apenas 8 resultados, todos eles com o termo de pesquisa no título. Outra busca foi por “barra de chocolate importada”, que resultou apenas em 5 produtos, todos eles com os termos ou no título ou na descrição.

Você pode configurar as possibilidades de combinação no módulo, aproveitando as condições do próprio Sphinx. Basicamente, ele traz três opções:

  • todas as palavras – ele só retornará o resultado se ele encontrar todas as palavras na soma dos atributos; isso é, no exemplo anterior, para que fosse verdade a busca, o Sphinx deve encontrar as palavras barra E de E chocolate E importada, não necessariamente nessa ordem
  • correspondência de frase – ele só o retornará o resultado se encontrar a frase exata em um dos atributos; se ele não encontrar “barra de chocolate importada”, o produto não é exibido
  • qualquer uma das palavras – aqui caímos no mesmo problema do Magento, pois ele retornaria todos os produtos que possuem a palavra “de”

Deficiências do Sphinx

Infelizmente, nem tudo é perfeito e o Sphinx tem algumas deficiências (ou dependem de uma configuração fina, que está longe do meu alcance de compreensão):

  • ele diferencia acentuação, isto é, televisão é diferente de televisão; portanto, conforme o jeito que o cliente busca, os resultados são diferentes.
  • ele diferencia masculino de feminino, isto é, importado é diferente de importada
  • ele não conhece sinônimos, portanto, TV não é igual a televisão
  • ele não possui um intermediário entre “todas as palavras” e “qualquer uma das palavras” ou algo que pudesse dar um peso para a distância das palavras; se o seu cliente costuma digitar “procuro televisao lcd 32 para compra”, a Busca Avançada retornará a página de “sem resultados”

A conclusão: essa combinação Sphinx + Busca Avançada vale a pena. Mesmo com essas dificuldades para tratar frases maiores, na imensa maioria das buscas o ganho nos resultados é visível. E você, já usou o módulo da aheadWorks? O que achou? Compartilhe suas experiências.

Melhorando a busca do Magento
9 votos, 4.78 média (94% pontuação)