Pular para conteúdo

TO_LOWERCASE - Conversão para Minúsculas

O que é esta operação?

A operação TO_LOWERCASE converte todo o texto para minúsculas, transformando "JOSÉ Silva" em "josé silva".

Por que esta operação existe?

Case sensitivity complica comparações. Esta operação existe para:

  1. Normalização de Busca: Garantir que "JOÃO", "João" e "joão" sejam encontrados igualmente
  2. Comparação Case-Insensitive: Facilitar matching de strings ignorando maiúsculas
  3. Padronização de Dados: Normalizar inputs de usuário para formato consistente
  4. Preparação para NLP: Muitos modelos esperam texto em minúsculas

Como funciona internamente?

Código interno (content-cleaner-executor.service.ts:290-293):

// Convert to lowercase
if (config.toLowerCase === true) {
  cleaned = cleaned.toLowerCase();
}

Parâmetros

Campo Tipo Obrigatório Descrição
inputVariable string Sim Variável contendo o texto
toLowerCase boolean Não Converte para minúsculas (padrão: false)
outputVariable string Não Variável para resultado

Exemplo: Normalização de Busca

{
  "name": "Busca Case-Insensitive",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "input_1",
      "type": "input",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Termo de Busca",
        "parameters": {
          "message": "O que você procura?",
          "variableName": "search_term"
        }
      }
    },
    {
      "id": "cleaner_1",
      "type": "content_cleaner",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Normalizar",
        "parameters": {
          "inputVariable": "search_term",
          "toLowerCase": true,
          "normalizeUnicode": true,
          "trimWhitespace": true,
          "removeExtraSpaces": true,
          "outputVariable": "normalized_search"
        }
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Buscar",
        "parameters": {
          "message": "🔍 Buscando: {{normalized_search}}\n(Original: {{search_term}})"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 900, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "input_1" },
    { "source": "input_1", "target": "cleaner_1" },
    { "source": "cleaner_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Saída:

O que você procura?
> JOSÉ SILVA
🔍 Buscando: jose silva
(Original: JOSÉ SILVA)

Boas Práticas

SIM: Buscas, comparações, normalização de emails/usernames, preparação para ML ❌ NÃO: Nomes próprios onde capitalização é importante, siglas, códigos sensíveis a case

Dicas

💡 Dica 1: Combine com normalizeUnicode para normalização completa (josé = jose) 💡 Dica 2: Essencial para criar índices de busca tolerantes a maiúsculas 💡 Dica 3: Use antes de comparar inputs de usuário com valores no banco de dados

Próximo Node

NORMALIZE_UNICODE - Remove acentos → TRIM_WHITESPACE - Remove espaços das pontas