Como o catálogo é indexado
Os motores por loja, língua e moeda, o que entra em cada documento, e as três vias por onde o índice se mantém em dia.
A pesquisa não corre sobre a base de dados da loja. Corre sobre um índice nosso, que é uma cópia do catálogo preparada para responder em milissegundos. Este guia é sobre como essa cópia se faz e como se mantém fiel.
Um motor por loja, língua e moeda
No handshake, o módulo diz-nos que lojas tem, em que línguas e com que moedas. Para cada combinação nasce um motor de pesquisa, e é isso que vê em Pesquisa → Motores de pesquisa: a loja a que pertence, o que indexa, a língua e a moeda, quantos documentos tem e quando foi a última indexação.
A separação não é um detalhe de arrumação. O nome de um produto em francês e em português são textos diferentes, e uma pesquisa por "chaussures" não deve encontrar resultados pelo texto português. Os preços seguem a mesma lógica: cada motor guarda os da sua moeda.
Uma loja multi-idioma tem, portanto, mais do que um motor, e quase tudo o que se configura por motor (pesos, sinónimos, filtros) se configura uma vez por cada.
O que entra num documento
De cada produto guardamos o que serve para o encontrar e para o mostrar: referência, EAN e MPN, nome, marca, categorias, características e atributos, descrições, preço, imagem, estado de stock e o URL na loja.
Três opções do módulo mudam o que lá chega:
- Preços com IVA: decide se o preço indexado é com ou sem imposto. Tem de ser igual ao que a loja mostra, ou os resultados dizem um número e a ficha diz outro.
- Tamanho de imagem: qual das imagens do PrestaShop viaja para o índice. A dos cards da pesquisa, não a de detalhe.
- Produtos sem stock: indexar na mesma, despromover nos resultados, ou esconder.
E três sinais opcionais, que a loja partilha se quiser, e que não servem para pesquisar mas para ordenar e medir: o volume de vendas (alimenta a ordenação "mais vendidos" e a deteção de best-sellers invisíveis), o preço de custo (dá margens nas analytics) e as encomendas (ligam a pesquisa à receita).
Atenção Ligar ou desligar a partilha de vendas ou de custo pede uma reindexação completa para o índice refletir a mudança. O módulo avisa quando isso acontece.
As três vias por onde se mantém em dia
Depois da primeira indexação completa, o dia-a-dia trata-se sozinho:
- Tempo real. Guardar, apagar ou mudar o stock de um produto empurra a alteração na hora. É por aqui que passa a esmagadora maioria das atualizações, e é o que faz o preço e o stock na pesquisa serem os mesmos da loja.
- Sincronização periódica. Em ciclos regulares, a plataforma pede à loja que reveja o catálogo, e é isto que apanha o que o tempo real não viu (uma importação por CSV, uma alteração feita direto na base de dados). Para funcionar, o endereço
https://a-tua-loja/module/buskara/synctem de estar acessível do exterior. - Manual. O botão Reindexar tudo no módulo, ou o comando de linha. Ver reindexar o catálogo.
Quando desconfiar da via 2 Firewalls, autenticação básica em ambientes de pré-produção e regras de "só o meu IP" bloqueiam a sincronização periódica sem darem erro visível no back-office. O sintoma é o índice ficar dias sem mexer enquanto o tempo real vai funcionando.
O que a indexação custa
Nada ao plano. Indexar conta de forma simbólica (10 pedidos por cada 10.000 items indexados) e nunca é cobrado: não encosta no limite nem gera excedente. Manter o catálogo em dia não deve ser uma decisão de orçamento.
O que aparece no gráfico de uso é essa contagem simbólica, e está lá por transparência, para se ver o que o índice andou a fazer. Ver o que conta como pedido.
Um segundo motor, para o conteúdo
O blog e as páginas da loja podem ser indexados à parte, num motor próprio, e aparecer nos resultados sem roubarem lugar aos produtos. É opcional e liga-se no módulo; está explicado em artigos e conteúdo da loja.