Implementando Busca Avançada e Indexação com Spring Boot e Elasticsearch
Desafios da Busca Textual em Bancos Relacionais
Quando sistemas precisam lidar com funcionalidades de pesquisa — seja em catálogos de e-commerce, plataformas de recrutamento ou diretórios corporativos — os bancos de dados relacionais tradicionais (como MySQL ou PostgreSQL) rapidamente se tornam um gargalo. Consultas utilizando o operador LIKE ' ...
Publicado em 7-5 16:47
Fundamentos de Sintaxe e Operações REST no Elasticsearch
Tipos de Dados e Mapeamento
No Elasticsearch, a definição estrutural dos documentos é feita através de mapeamentos (mappings). Os tipos de dados primitivos e complexos mais utilizados incluem:
Textuais: text (analisado e tokenizado) e keyword (exato, não analisado).
Numéricos: long, integer, short, byte, double, float, half_float, scaled_float ...
Publicado em 7-3 01:47
Tipos de Dados e Estratégias de Mapeamento no Elasticsearch
Principais Categorias de Tipos de Dados
O Elasticsearch oferece uma vasta gama de tipos de dados para modelar informações de forma eficiente. Eles podem ser agrupados nas seguintes categorias:
Texto e Palavras-chave: text, keyword, constant_keyword, wildcard.
Numéricos: long, integer, short, byte, double, float, half_float, scaled_float.
Boole ...
Publicado em 7-2 05:29
Configuração e Uso Básico do Elasticsearch com Spring Boot
Este guia detalha a configuração e o uso básico do Elasticsearch em uma aplicação Spring Boot, focando em funcionalidades essenciais para gerenciar índices e dados.
Dependências e Configuração do Projeto
Configuração do Maven (pom.xml)
Adicione as seguintes dependências ao seu arquivo pom.xml para integrar o Spring Boot com o Elasticsearch e Sw ...
Publicado em 6-30 19:29
Estratégias de Sharding para o Processamento de 10 Bilhões de Pedidos em um Sistema de E-commerce
Desafio em Foco
Considere uma plataforma de e-commerce cuja tabela de pedidos no MySQL atingiu escala problemática. Consultas simples e operações de contagem global tornam-se proibitivamente lentas.
-- Consulta simples levando vários segundos
SELECT * FROM pedidos WHERE usuario_id=10086 LIMIT 10;
-- Contagem global extremamente lenta
SELECT CO ...
Publicado em 6-25 20:44
Gerenciamento de Índices e Consultas no Elasticsearch
Para apagar todos os documentos de um índice, utilize a API _delete_by_query com uma consulta que corresponda a todos os documentos. Por exemplo, para o índice indice_suporte:
curl -X POST "localhost:9200/indice_suporte/_delete_by_query" -H 'Content-Type: application/json' -d'
{
"query": {
"match_all": {}
} ...
Publicado em 6-22 01:05
Guia Prático de Implantação de Infraestrutura com Docker
Implatnação do Banco de Dados MySQL
Para inicializar um container MySQL com persistência de dados e configurações customizadas, utilize a seguinte estrutura:
docker run -d \
--name db-mysql-instance \
-p 3306:3306 \
-e TZ=America/Sao_Paulo \
-e MYSQL_ROOT_PASSWORD=root_secure_pwd \
-v $PWD/mysql/storage:/var/lib/mysql \
-v $PWD/mysq ...
Publicado em 6-18 19:21
Detectando, Avaliando e Redigindo PII em Logs usando NLP e Correspondência de Padrões - Parte 1
Como utilizar o Elasticsearch e NLP para detectar e avaliar informações pessoais em logs.
Índice
Introdução
Ferramentas e Tecnicas
Detecção por Reconhecimento de Entidades Nomeadas (NER)
Detecção por Correspondência de Padrões
Amostragem de Logs
Pipeline de Ingestão como Processamento Combinável
Construindo o Pipeline de Processamento
Amostrage ...
Publicado em 6-18 16:28
Configuração de Autenticação e Controle de Acesso no Elastic Stack 8.3.2
Ajustes de Segurança no Elasticsearch
Para habilitar o controle de acesso na versão 8.3.2 do Elastic Stack, o primeiro passo consiste em modificar o arquivo de configuração elasticsearch.yml. É fundamental ativar os recursos de segurança do X-Pack e configurar o SSL para o transporte entre nós do cluster.
# Ativação das funcionalidades de segur ...
Publicado em 6-17 04:50
Explorando Consultas Elasticsearch com Python DSL
Este guia explora o uso do Python Elasticsearch DSL para construir e execuatr consultas complexas no Elasticsearch.
Conectando ao Elasticsearch
Para começar, é necessário estabelecer uma conexão com o cluster Elasticsearch.
import elasticsearch
# Conexão usando lista de hosts e portas
cliente = elasticsearch.Elasticsearch([{"host": ...
Publicado em 6-13 17:21