Findalo

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:

  1. Pegue num produto que não apareça e veja a visibilidade. Se disser «Apenas catálogo», já está.
  2. 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.
  3. Baixe o comprimento mínimo de palavra para 2 e reconstrua. Volte a testar as pesquisas que falhavam.
  4. Leia a lista de palavras ignoradas e tire o que no seu catálogo signifique alguma coisa.
  5. 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