PrestaShop
Porque reconstruir o índice não resolve a pesquisa do PrestaShop
· 8 min de leitura · Por Ray Rodríguez, fundador do Findalo
Se já procurou por que é que o motor de pesquisa do seu PrestaShop não encontra um produto, já terá dado com a resposta do costume: reconstrua o índice. Configurar → Parâmetros da loja → Pesquisa → «Adicionar os produtos em falta ao índice», ou o botão que o reconstrói por inteiro.
Às vezes resulta. Na maioria das vezes não, e então fica sem saber o que olhar. Este artigo explica o que faz exactamente essa reconstrução, o que não toca por muito que a repita, e quais dessas coisas pode resolver sozinho esta tarde sem contratar nada.
Tudo o que se segue foi lido no código do PrestaShop 8, não num fórum de 2017.
O que faz reconstruir o índice
O PrestaShop não pesquisa sobre os seus produtos. Pesquisa sobre um índice de palavras: duas tabelas, uma com cada palavra distinta do seu catálogo e outra que a liga aos produtos onde aparece, com um peso.
Reconstruir o índice é refazer essas duas tabelas lendo o seu catálogo. Mais nada. E do seu catálogo só lê os campos que têm peso maior que zero: nome, referências, descrição curta, descrição longa, categoria, marca, etiquetas, atributos e características.
Isto já explica o primeiro caso frustrante. Se o peso da descrição longa está a zero, essa descrição não está no índice, e reconstruí-lo mil vezes vai continuar a deixá-la de fora. Não é que o índice esteja desactualizado: é que esse texto nunca foi candidato.
E já agora, um mito: não, não é um OU
Circula muito que a pesquisa nativa devolve tudo o que contenha qualquer uma das suas palavras. Pesquisa Funko Ash e saem-lhe todos os Funko e todos os Ash.
No PrestaShop 8 isso não é assim. O motor resolve palavra a palavra e vai cruzando os resultados: se pesquisar «carro vermelho», ficam-lhe os produtos que têm «carro» e «vermelho». É tão conhecido que o próprio código traz um comentário a avisar que alguém partiu essa intersecção no passado e que não se volte a partir.
Se na sua loja parece um OU, o problema é outro, e costuma ser o que vem a seguir.
As cinco coisas que reconstruir o índice não resolve
1. A visibilidade do produto
O índice só admite produtos activos e com visibilidade «Em todo o lado» ou «Apenas pesquisa». Um produto posto em «Apenas catálogo» nunca vai sair na pesquisa, e não há reconstrução que o mude.
É a causa número um do «este produto existe e não aparece». Vê-se no separador Opções da ficha do produto, e muda-se em massa a partir da listagem.
2. O comprimento mínimo das palavras
Há uma definição, no mesmo ecrã de Pesquisa, que descarta as palavras mais curtas do que X caracteres. Aplica-se antes de tocar no índice: essas palavras são deitadas fora, não são pesquisadas.
Se a tem em 3, uma pesquisa de TV não pesquisa nada. Uma de kit 4 pesquisa só «kit». E se alguém escrever apenas palavras curtas, o motor não devolve zero por falta de correspondências: devolve zero porque ficou sem nada para pesquisar.
Baixá-la para 2 resolve uma quantidade surpreendente de casos. Tem custo: o índice cresce e entram palavras pouco úteis.
3. A lista de palavras ignoradas
Ao lado da definição anterior há uma lista de palavras que são sempre descartadas. Vem com preposições e artigos, o que está bem, mas convém lê-la: se o seu catálogo é técnico, é fácil que lá dentro esteja uma palavra que para si significa alguma coisa.
4. Uma palavra desconhecida não dá zero resultados: cai
Esta é a que mais confunde, e quase ninguém a conta.
Quando pesquisa várias palavras, o PrestaShop resolve cada uma contra o índice. Se uma não aparece — nem tal como está, nem com a correcção aproximada — essa palavra é descartada e a pesquisa continua com as restantes.
O efeito prático: alguém pesquisa sapatilhas running tamanho 43, «43» não está indexado, e em vez de dizer «não tenho nada assim» devolve-lhe todas as suas sapatilhas de running. O cliente vê um monte de resultados, nenhum é o que pediu, e conclui que o seu motor não funciona. O senhor olha para o painel e vê uma pesquisa com resultados, por isso não dá por nada.
É pior do que um zero resultados, porque o zero pelo menos mede-se.
5. Que a tolerância a gralhas se esgota a meio da frase
O PrestaShop tem correcção aproximada: se uma palavra não existe, procura a mais parecida do índice. Mas tem um orçamento de tentativas para toda a consulta, não por palavra, e vai-se gastando à medida que avança.
A consequência é estranha de ver e fácil de reproduzir: numa pesquisa de várias palavras, as primeiras são corrigidas e as últimas já não, porque o orçamento se esgotou antes de lá chegar. A mesma gralha é perdoada no início da frase e não no fim.
Então, quando é que vale a pena reconstruir?
Para que fique claro que não é inútil. Reconstruir o índice é exactamente o que toca quando:
- Mudou os pesos dos campos. O índice velho foi construído com os pesos velhos.
- Acrescentou um idioma.
- Importou produtos com a indexação automática desligada, ou mexeu na base de dados por fora.
- Migrou de versão ou de servidor e as tabelas do índice ficaram a meio.
Numa loja grande a reconstrução vai por lotes e pode demorar. Se se interromper, o índice fica parcial, e aí sim faz sentido repeti-la.
A revisão de dez minutos
Se deste artigo ficar só com uma parte, que seja esta. Por ordem, e sem instalar nada:
- Pegue num produto que não apareça e veja a visibilidade. Se disser «Apenas catálogo», já está.
- Veja os pesos em Parâmetros da loja → Pesquisa. Se a referência está a zero e os seus clientes pesquisam por referência, suba-a. Se a descrição longa está a zero e é aí que tem a informação boa, decida se a quer dentro.
- Baixe o comprimento mínimo de palavra para 2 e reconstrua. Volte a testar as pesquisas que falhavam.
- Leia a lista de palavras ignoradas e tire o que no seu catálogo signifique alguma coisa.
- Teste uma pesquisa de três palavras em que a última seja muito específica. Se lhe devolver muitos resultados e nenhum a respeitar, acabou de ver o ponto 4 ao vivo.
Com isto resolve-se mais do que parece. A sério: faça-o antes de gastar um euro.
O que não se resolve a configurar
E agora a parte honesta, que é onde entramos nós.
Há coisas que não dependem de nenhuma definição porque um índice de palavras não dá para mais. Pesquisar por significado e não por palavra, de modo que «alguma coisa para pele sensível» encontre produtos que não contêm nenhuma dessas palavras. Perceber que uma referência com hífenes, zeros à esquerda ou sufixo de variante é a mesma que o cliente escreve. Ordenar os resultados pelo que de facto se vende e não por um peso fixo que pôs uma vez. Mostrar resultados enquanto se escreve. E saber o que foi pesquisado e não encontrado, que é a única lista que lhe diz o que lhe falta.
Isso é outra categoria de produto, e custa dinheiro. O nosso plano de entrada são 15 € por mês, e há um mês de teste gratuito para o ver com o seu catálogo antes de decidir.
Mas se chegou aqui vindo de um motor de pesquisa, o mais provável é que o que tem seja um dos cinco problemas de cima. Resolva-o primeiro. Se depois continuar sem encontrar o que os seus clientes escrevem, então falamos.
Como funciona o Findalo no PrestaShop · Escreva-nos se quiser que o vejamos com o seu catálogo.
Continua a ler
-
Intenção de compra: que a pesquisa encontre «a pedra do amor» mesmo que a ficha não o diga
Por cada produto e em cada idioma, a IA escreve as frases com que um comprador o pediria: para que serve e como lhe chamam as pessoas. Exemplos reais de uma loja de minerais, de um catálogo de instrumental médico em alemão e de uma cadeia de sapatarias. Incluída a partir de Pro, sem nada para configurar.
-
Teste gratuito de 1 mês: o que inclui e o que acontece quando acaba
200 produtos, 1.000 pesquisas no total e sem cartão. Quando acaba o mês ou as pesquisas, a pesquisa deixa de responder e, se não passar para um plano pago, a conta é eliminada ao fim de 30 dias. O que avisamos, como continuar com o Starter ou o Pro (14 dias de teste grátis) e quando o teste não lhe serve para decidir.