📘 Guia de apoio: Configurações Avançadas do Smart FinderEsta documentação complementa a página de Configurações Avançadas do Smart Finder e explica os principais campos técnicos apresentados na tela. O Smart Finder utiliza o Elasticsearch como motor de busca da plataforma. Ele é responsável por consultar os produtos indexados, identificar correspondências com o texto pesquisado e calcular a relevância utilizada para ordenar os resultados. As Configurações Avançadas permitem controlar diretamente campos, pesos e parâmetros utilizados nesse processamento. A estrutura disponibilizada contempla Query Fields, Query Boosts e Extra Params nos contextos Pesquisa, Sugestão, Categoria, Marca e Lista de Produtos.
🔎 Como o Smart Finder processa uma pesquisaQuando o consumidor pesquisa, por exemplo: o Smart Finder precisa definir:
Essas definições são controladas principalmente por três grupos de configuração:
🧩 1. Query FieldsOs Query Fields definem quais informações dos produtos serão consideradas durante a pesquisa. Um produto pode possuir diferentes campos indexados, como:
Um mesmo conteúdo pode existir em mais de uma forma no índice. O nome do produto, por exemplo, pode ter uma versão voltada para correspondência exata e outra preparada para localizar variações. 🏷️ Como interpretar os nomes dos camposOs nomes apresentados nessa tela são técnicos e normalmente utilizam inglês.
|
| Campo | Finalidade |
|---|---|
| Name | Identificador da regra. |
| Field | Campo do produto pesquisado. |
| Boost | Peso de relevância. |
| Similarity | Tolerância para termos semelhantes. |
| Term | Indica se o texto pesquisado será utilizado. |
| Escape | Caracteres especiais que devem ser tratados. |
| Format | Formato utilizado para montar a consulta. |
| Operator | Relação lógica entre as palavras. |
| Type | Tipo técnico da consulta. |
O campo Name identifica a regra dentro da configuração.
Exemplo:
ProductNameExactEle:
⚠️ Evite renomear regras existentes. A alteração pode impedir que a aplicação reconheça corretamente a configuração.
O campo Field define em qual informação indexada do produto a consulta será executada.
Exemplo:
ProductNameExactNesse caso, a regra pesquisará no campo técnico relacionado ao nome exato do produto.
⚠️ Utilize apenas campos existentes. Um nome digitado incorretamente pode fazer a regra não retornar produtos, ser ignorada ou gerar inconsistências.
O Boost representa o peso da regra.
Exemplo:
80Quanto maior o Boost em comparação com as outras regras, maior tende a ser a influência daquela correspondência na posição do produto.
| Regra | Boost |
|---|---|
| Nome exato do produto | 80 |
| Palavras-chave exatas | 30 |
| Nome do produto por termos | 25 |
| Similaridade fonética | 10 |
| Descrição | 5 |
Nesse cenário, encontrar a expressão no nome exato tende a ser mais relevante do que encontrá-la somente na descrição.
O valor 80 não significa:
O Boost é um peso relativo, combinado com as demais regras e critérios da busca.
💡 Como configurar: aumente o Boost quando uma correspondência importante não estiver recebendo prioridade suficiente. Reduza quando uma regra estiver levando produtos pouco relevantes para as primeiras posições.
⚠️ Altere apenas uma regra por vez. Aumentar todos os Boosts simultaneamente pode manter praticamente a mesma prioridade entre eles.
O campo Similarity está relacionado à tolerância utilizada para localizar termos parecidos.
Exemplo:
0.60A busca aproximada pode considerar diferenças como:
Exemplos:
| Pesquisa | Termo cadastrado |
|---|---|
notbook | notebook |
camizeta | camiseta |
smartfone | smartphone |
O valor 0.60 não deve ser interpretado literalmente como “60% das letras precisam ser iguais” ou “60% de relevância”.
Nas versões atuais do Elasticsearch, a busca aproximada normalmente utiliza uma quantidade de alterações permitidas entre as palavras. O decimal apresentado na tela pode ser convertido ou interpretado por uma camada própria do Smart Finder.
ℹ️ Importante: a interpretação exata de
0.60depende de como a Linx Commerce transforma essa configuração na consulta enviada ao Elasticsearch.
💡 Como configurar: mantenha o valor atual quando erros de digitação estiverem sendo tratados corretamente. Revise somente quando termos muito diferentes forem considerados semelhantes ou quando pequenos erros não retornarem resultados.
A opção Term indica se o texto digitado pelo consumidor será utilizado naquela regra.
Para a pesquisa:
tênis azulquando Term estiver marcado, esse conteúdo será incluído na consulta correspondente.
⚠️ Não desmarque sem conhecer o impacto. A regra pode deixar de utilizar diretamente o termo pesquisado pelo consumidor.
O campo Escape define quais caracteres especiais devem ser tratados antes que o texto seja enviado ao Elasticsearch.
Exemplo:
\+-&|!(){}[]^"~*?:/Essa sequência não é uma senha, uma fórmula nem um termo de pesquisa.
Ela representa uma lista de caracteres que possuem funções especiais na linguagem de consultas do Elasticsearch e do Lucene.
Sem o tratamento adequado, esses símbolos podem ser interpretados como comandos em vez de texto comum.
Escape é o processo de informar ao motor de busca:
“Interprete este símbolo como parte do texto, e não como uma instrução.”
Considere a pesquisa:
C++O símbolo + pode ter uma função especial na consulta. Para tratá-lo como parte do nome, a expressão pode ser preparada internamente como:
C\+\+A barra invertida \ indica que o caractere seguinte deve ser considerado literalmente.
Outros exemplos:
| Texto digitado | Forma tratada internamente |
|---|---|
C++ | C\+\+ |
AC/DC | AC\/DC |
kit (2+1) | kit \(2\+1\) |
TV 55" | TV 55\" |
produto:azul | produto\:azul |
O consumidor não precisa inserir essas barras. O tratamento é realizado pela aplicação.
\ — Barra invertidaÉ o próprio caractere de escape.
Exemplo:
\+Significa que o + deve ser tratado como texto comum.
+ — Termo obrigatórioPode indicar que o termo seguinte precisa estar presente.
Exemplo técnico:
+camiseta +azulPode representar uma consulta que exige os dois termos.
Em um nome como C++, os sinais devem ser tratados como parte do texto.
- — Exclusão de termoPode indicar que determinado termo deve ser excluído.
Exemplo técnico:
camiseta -infantilPode significar pesquisar camiseta e excluir produtos relacionados a infantil.
Porém, o hífen também pode fazer parte de nomes e códigos:
UV-50& — Operação ANDNa sintaxe completa, && pode representar a operação lógica AND, exigindo que duas condições sejam atendidas.
A configuração apresenta o caractere & individualmente porque a plataforma pode identificá-lo e tratá-lo antes da montagem final da consulta.
| — Operação ORPode representar a operação lógica OR.
Exemplo:
camiseta | camisaIndica que a busca pode considerar camiseta ou camisa.
! — NegaçãoPode representar uma negação ou exclusão.
Em uma pesquisa como:
Oferta!o ponto de exclamação deve ser considerado pontuação, e não uma instrução.
( e ) — AgrupamentoOs parênteses agrupam partes da consulta.
Exemplo técnico:
(camiseta OR camisa) AND azulO conteúdo entre parênteses é processado como um grupo.
Quando fizerem parte do nome pesquisado, devem ser tratados como caracteres comuns.
{ e } — Intervalo exclusivoPodem representar uma pesquisa por intervalo sem incluir os valores inicial e final.
Exemplo técnico:
price:{100 TO 200}Pode indicar valores maiores que 100 e menores que 200.
[ e ] — Intervalo inclusivoPodem representar intervalos que incluem os valores inicial e final.
Exemplo:
price:[100 TO 200]Pode incluir produtos com valores iguais a 100 ou 200.
^ — Aumento de relevânciaPode atribuir maior peso diretamente a um termo.
Exemplo:
camiseta^5 camisaNesse caso, correspondências com “camiseta” recebem mais relevância que correspondências com “camisa”.
" — Pesquisa por fraseAs aspas podem indicar que as palavras devem ser consideradas como uma frase.
Exemplo:
"tênis azul"Isso tende a exigir ou valorizar a proximidade e a ordem das palavras.
Porém, as aspas também podem fazer parte de um produto:
TV 55"~ — Similaridade ou proximidadeDepois de uma palavra, pode indicar busca aproximada:
notbook~1Depois de uma frase, pode indicar tolerância de distância entre as palavras:
"tênis corrida"~3* — Coringa para vários caracteresPode substituir zero ou vários caracteres.
Exemplo:
camis*Pode encontrar:
⚠️ Consultas com coringas muito amplos podem exigir mais processamento, principalmente quando o asterisco é utilizado no início da palavra.
? — Coringa para um caracterePode substituir um único caractere.
Exemplo:
te?isEm uma pesquisa comum como tem tênis?, deve ser tratado apenas como pontuação.
: — Separação entre campo e valorPode indicar em qual campo a pesquisa deve ocorrer.
Exemplo:
brand:NikeSignifica pesquisar o valor Nike no campo brand.
Em um texto como Promoção: tênis, deve ser tratado como pontuação.
/ — Expressão regularPode delimitar uma expressão regular.
Exemplo técnico:
name:/camis.*/Quando a barra fizer parte de um nome, como AC/DC, deve ser considerada texto comum.
Em condições normais, não.
Mantenha:
\+-&|!(){}[]^"~*?:/Alterar essa lista pode provocar:
⚠️ Altere o campo Escape somente com orientação técnica.
A lista apresentada na tela pode não ser idêntica à lista completa documentada pelo Elasticsearch, pois parte do tratamento pode ocorrer em outras camadas da plataforma.
O campo Format define como o termo pesquisado será inserido na expressão de busca.
Pode ser utilizado um marcador como:
{0}O {0} representa o texto digitado pelo consumidor.
Exemplo de formato:
({0})Para a pesquisa:
tênis azula expressão pode ser montada como:
(tênis azul)Os parênteses mantêm os termos agrupados.
⚠️ Não remova o marcador
{0}. Sem ele, a regra pode deixar de incluir o texto pesquisado.
O Operator define a relação lógica entre as palavras.
| Operador | Comportamento |
|---|---|
| AND | Exige maior correspondência entre os termos. |
| OR | Permite que apenas parte dos termos corresponda. |
| Em branco | Utiliza o comportamento padrão da configuração. |
Considere a pesquisa:
camiseta azul masculinaCom AND, a busca tende a exigir os três termos.
Com OR, pode retornar produtos que correspondam apenas a uma ou duas palavras.
💡 Orientação: utilize
ANDquando a precisão for mais importante. UtilizeORou o padrão quando for importante reduzir buscas sem resultados.
O campo Type informa o tipo técnico de consulta utilizado pela regra.
Ele pode estar relacionado a comportamentos como:
⚠️ Quando o campo estiver em branco, mantenha-o em branco, salvo quando existir uma orientação técnica específica. Um Type inválido pode fazer a regra ser ignorada ou gerar resultados inesperados.
Considere a seguinte configuração:
| Campo | Valor |
|---|---|
| Name | ProductNameExact |
| Field | ProductNameExact |
| Boost | 80 |
| Similarity | 0.60 |
| Term | Marcado |
| Escape | \+-&|!(){}[]^"~*?:/ |
| Format | ({0}) |
| Operator | Em branco |
| Type | Em branco |
Para uma pesquisa por:
Tênis Nike Aira regra funciona, de forma simplificada, assim:
ProductNameExact;80 à correspondência;ℹ️ Essa regra não garante isoladamente a primeira posição. A classificação final considera todas as regras, campos, ordenações e correspondências aplicadas à pesquisa.
Os Extra Params são parâmetros adicionais utilizados na montagem ou no processamento da consulta.
Na tela podem aparecer configurações como:
mm;qf;qs;ps.ℹ️ Observação técnica: esses nomes são conhecidos principalmente no ecossistema Lucene/Solr. No Smart Finder, eles podem ser processados por uma camada interna da plataforma antes da consulta ao Elasticsearch. Por isso, a função abaixo descreve o comportamento esperado, mas a implementação pode possuir adaptações próprias.
mm — Minimum Should MatchDefine a quantidade mínima de termos que precisa corresponder para que um produto seja considerado.
Exemplo:
mm = 75%Para uma pesquisa com quatro termos:
camiseta masculina azul algodãouma configuração de 75% representa, de forma simplificada, a exigência de correspondência de pelo menos três termos.
qf — Query FieldsDefine os campos pesquisados e a importância relativa de cada um.
Exemplo:
ProductNameExact^80 ProductName^25 SearchKeywordsExact^30Separando:
ProductNameExact^80: nome exato com peso 80;ProductName^25: nome do produto com peso 25;SearchKeywordsExact^30: palavras-chave exatas com peso 30.O caractere ^ separa o nome do campo de seu peso.
⚠️ Mantenha os nomes técnicos existentes. Não informe campos que não existam no índice.
qs — Query Phrase SlopControla a tolerância de distância em frases pesquisadas explicitamente.
Exemplo:
qs = 5Quanto menor o valor, mais próximas as palavras precisam estar. Quanto maior, maior a tolerância de distância ou variação.
ps — Phrase SlopTambém controla a proximidade entre palavras, mas normalmente é utilizado em regras de frase voltadas ao aumento de relevância.
Para a pesquisa:
tênis corridaum produto com:
tênis de corridapode receber maior pontuação porque os termos aparecem próximos.
ℹ️ O
psnormalmente influencia a pontuação, e não necessariamente a inclusão ou exclusão do produto.
Os ajustes operacionais mais comuns costumam envolver:
Evite alterar sem orientação técnica:
Depois de modificar uma configuração:
| Tipo de teste | Exemplo |
|---|---|
| Nome exato | Tênis Nike Air Max |
| Termo genérico | tênis |
| Várias características | tênis masculino azul corrida |
| Erro de digitação | teniz |
| Código com hífen | UV-50 |
| Nome com barra | AC/DC |
| Nome com símbolo | C++ |
| Medida com aspas | TV 55" |
| Uso de parênteses | kit (2+1) |
💡 Boa prática: teste as mesmas pesquisas antes e depois da alteração para comparar quantidade, qualidade e ordenação dos resultados.
⚠️ Não existe uma única configuração ideal para todas as lojas. A relevância depende do catálogo, da qualidade dos cadastros, dos campos indexados e da forma como os consumidores pesquisam.
Para conhecer os conceitos técnicos utilizados pelo Elasticsearch, consulte a documentação oficial:
ℹ️ Importante: a documentação do Elasticsearch explica os conceitos nativos da tecnologia. Os nomes de campos e alguns parâmetros apresentados no Smart Finder podem possuir adaptações específicas da Linx Commerce.