Magento: Melhorando a busca do Magento com o Solr 4.3 (lucene)

O sistema de busca de produtos é uma das partes mais importantes de uma loja virtual. Acostumados a utilizar sites de busca como o google, os clientes esperam que a loja virtual possua um sistema de busca eficiente que retorne resultados relevantes para qualquer tipo de consulta. Isso faz com que o sistema de busca tenha um impacto grande na taxa de conversão no e-commerce. Segundo pesquisas da empresa SLI Systems, 34% dos clientes virtuais usam o sistema de busca e 43% desse clientes abandonam a loja caso a busca não retorne produtos relevantes.

Infelizmente, o sistema de busca é um dos pontos fracos do Magento. Neste post eu vou mostrar como podemos melhorar a busca do magento sem precisar gastar nada. Vou usar como estudo de caso a loja de calçados e acessórios femininos www.r2estilos.com.br. Com a busca padrão do Magento, ao pesquisar usando palavras-chave no plural como “bolsas“, “sapatilhas” ou “tamancos“, a loja não retornava nenhum produto. Se o cliente adicionasse o nome da marca na busca, exemplo, “sapatilhas corbeluxe“, a loja não retornava apenas as sapatilhas da marca corbeluxe, mas sim todos os produtos da marca, incluindo tamancos, rasteiras, saltos etc. No final, o resultado das buscas não era consistente com os produtos cadastrados e só servia para confundir o cliente. Faça os testes na sua loja magento e você terá resultados similares.

Para resolver esse problema, eu integrei a R2Estilos ao Solr. O Solr é uma plataforma madura de indexação e busca usada por grandes sites  como o Netflix, Instagram e UOL.

Características do solr

* Altamente escalável através da replicação de dados para outros servidores;
* Fácil configuração através de configuração XML, sem necessidade de codificação;
* Fácil extensão através de plugins;
* Otimizado para alto volume de tráfego;
* Interfaces padrão de integração: XML, JSON e HTTP;
* Ferramenta de administração de fácil compreensão;
* Estatísticas providas via JMX para monitoramento;

Abaixo eu descrevo como integrar o Solr no Magento. Disponibilizo também os arquivos de configuração prontos para o idioma português.

Integrando o Solr no magento

1. Baixe aqui e instale o módulo do Magento de integração com o solr. (OBS: Nesse link você vai encontrar uma modificação do módulo magento-community-edition-solr. Tive que fazer uma modificação no código para que ele funcionasse com a versão 4.3 do solr. O original só funciona com solr 3.x.)

2. Baixe a versão 4.x do Solr e descompacte o arquivo

wget http://ftp.unicamp.br/pub/apache/lucene/solr/4.3.1/solr-4.3.1.tgz
tar xvfz solr-4.3.1.tgz

3. Crie as pastas que irão conter os arquivos de configurações e base de documentos. Vamos usar alguns arquivos de configuração do exemplo que já vem com o solr.

mkdir solr-4.3.1/example/solr/magento
mkdir solr-4.3.1/example/solr/magento/data
cp -r solr-4.3.1/example/solr/collection1/conf solr-4.3.1/example/solr/magento/

4. Copie os arquivos de configuração para o idioma português. Eles se encontram na past etc/ do módulo que você baixou e instalou no passo 1.

cp -f MAGENTO_PATH/app/code/local/Magentix/Solr/etc/schema.xml solr-4.3.1/example/solr/magento/schema.xml
cp -f MAGENTO_PATH/app/code/local/Magentix/Solr/etc/solrconfig.xml solr-4.3.1/example/solr/magento/solrconfig.xml

5. Inicie o Solr

cd solr-4.3.1/example/
java -jar start.jar

6. Acesse o dashboard do solr pelo o seu navegador ( http://IP_DO_SERVIDOR:8983/solr/ ) e selecione a opção “Core Admin” no menu esquerdo. Note que é necessário que a porta 8983 esteja liberada para ter acesso ao dashboard.

7. Clique no botão “Add Core” e preencha com os dados abaixo e clique no botão “Add Core”:
name: magento
instanceDir: magento
dataDir: data
config: solrconfig.xml
schema: schema.xml

imagem-busca-01

8. Agora temos que configurar o Magento para usar a base de dados que acabamos de criar. No Admin do magento, vá para Sistema -> Configuração -> Catálogo -> Solr Search Engine. Preencha os campos com os dados abaixo e salve.(Nessa configuração é assumido que o solr roda no mesmo servidor do magento – localhost)
Servidor : localhost
Port: 8983
Caminho: /solr/magento

imagem-busca-02

9. No menu, vá em Sistema -> Gerenciado de Índices e click em “Reindexar Dados” para o Sistema de Busca.

Pronto, agora o seu sistema de busca está completamente integrado com o Solr usando uma configuração básica. Mesmo com essa configuração básica, a busca com o solr é muito superior a busca padrão do Magento. Se por algum motivo o servidor solr estiver indisponível, o magento automaticamente usará a busca padrão.

Se você quiser se aprofundar, seguindo os tutorias do site http://www.solrtutorial.com, é possível definir uma lista de sinônimos (ex: “calçados” e “sapatos” deveriam retornar produtos semelhantes ),  definir peso dos atributos (ex: o nome do produto deveria ter um peso maior que os outros atributos) ou até mesmo desenvolver um plugin para o solr que melhore resultados (nesse caso é necessário entender de algoritmos de recuperação de informação e programar em java).

Caso você precise de ajuda em alguns desses pontos, é só entrar em contato.

Referências

[1] Solr – http://lucene.apache.org/solr/
[2] Solr Tutorial – http://www.solrtutorial.com
[3]Magento CE solr – http://code.google.com/p/magento-community-edition-solr/

[toggle title=”Fonte”]
http://renatomarcelino.com
[/toggle]

2014-08-29T14:38:40+00:00

RECEBA DICAS VALIOSAS NO SEU EMAIL

x