Utilizo elasticsearch aproximadamente desde hace 2 años, y no sabia las diferencias entre el must y el filter. Cada día se aprenden nuevas cosas!
Conceptos básicos para usar Elasticsearch
Lo que aprenderás sobre Elasticsearch
¿Qué es Elasticsearch?
Poner a correr Elasticsearch
Indexación de datos
Índices y documentos
Verbos HTTP
Mapeo de datos
Puntaje
Consultas
Tipos de cláusulas
Consultas booleanas
Consultas compuestas
Construyendo una consulta compuesta
Consultas anidadas
Proyecto: unificación de datos
Consultas de rango y agregaciones
Proyecto: revisión final del directorio
Cierre
Notas finales y cierre del curso
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Aportes 8
Preguntas 1
Utilizo elasticsearch aproximadamente desde hace 2 años, y no sabia las diferencias entre el must y el filter. Cada día se aprenden nuevas cosas!
must
, como un AND lógico, la consulta debe aparecer en los documentos retornados, influye en el puntaje.filter
, como un AND lógico, la consulta debe aparecer en los documentos retornados, no influye en el puntaje, se puede usar cache.should
, como un OR lógico, la consultas puede aparecer en los documentos retornados, no influye en el puntaje, se puede usar cache.
minimum_should_match
, indica cuantas consultas deben coincidir en los documentos. por defecto es 1. Si must
o filter
acompañan al should
, su valor por defecto es 0must_not
, como un NOT lógico, la consulta no debe aparecer en los documentos retornados, no influye en el puntaje, se puede usar cache.[+]Muy buena explicación sobre las clausulas. Combinar el must/filter con el should tiene sus cositas.
Las cláusulas booleanas:
🤩
Filter: Nos debe retornar lo que nuestra consulta indica. Es importante comprender que el filtrado aumenta el rendimiento de la búsqueda. Las consultas de filtro se almacenan automáticamente en la caché de Elasticsearch. La próxima vez que se ejecute exactamente la misma consulta de filtro, los resultados se extraerán instantáneamente de la caché.
🤩
Must: El uso de must le dice a Elasticsearch que las coincidencias de documentos deben incluir todas las consultas incluidas en la cláusula must. Si tiene más de una consulta, todas esas consultas deben coincidir.
🤩
Must Not: El uso de must_not le dice a Elasticsearch que las coincidencias de documentos no pueden incluir ninguna de las consultas incluidas en la cláusula must_not.
🤩
Should: Sería ideal que los documentos coincidentes incluyan todas las consultas en la cláusula should, pero no es necesario que se incluyan. En otras palabras si tenemos cinco consultas, el resultado puede o no hacer match con las cinco. En este caso debemos utilizar el parametro minimum_number_should_match el cual nos ayuda a decirle a Elasticsearch que al menos debe hacer match con 1,2,3… consultas del should.
interesante, estoy por ponerlo en práctica, eso está interesante
Must
La consulta aparece en los documentos
Filter
No hace ningún calculo y no influye el puntaje.
Should
Solo tendrá una conciencia uno o otro.
Mientras mas veo el curso, mas interesante se pone. Muy bueno.
SI HAY AL MENOS UN SHOULD, EL VALOR POR DEFECTO DE minimum_should_match AUTOMÁTICAMENTE SU VALOR SERÁ 1 DE LO CONTRARIO SERÁ 0
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.