Difference Between keyword and text in Elasticsearch
¿Por qué tu consulta en Elasticsearch no devuelve lo que esperabas? Puede que el error esté en cómo definiste tus campos: keyword frente a text.
Muchos asumen que usar “text” o “keyword” es una decisión menor, casi trivial. Pero elegir uno u otro cambia radicalmente cómo funciona la búsqueda y el filtrado de datos.
Keyword almacena el valor exacto, útil para filtrado y agregaciones rápidas. No hay análisis, solo coincidencias perfectas.
Text permite análisis lingüístico: tokenización, minúsculas, eliminación de stopwords. Ideal para búsquedas flexibles, resultados por relevancia y consultas con matices.
El error común: definir todo como “text” esperando flexibilidad, y luego frustrarse con resultados imprecisos o lentitud en tareas de reporting.
Un caso habitual: un dashboard de monitoreo de logs. Si los IDs de usuario son “text”, buscar exactos será lento y a veces poco fiable. Defínelos como “keyword” y la diferencia es evidente.
El poder de Elasticsearch no está solo en sus algoritmos, sino en modelar los datos desde la pregunta que realmente necesitas responder.
#Elasticsearch #DataModeling #BúsquedaFullText #ArquitecturaDatos