Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Tipos de cláusulas

8/16
Recursos

Aportes 8

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

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!

  • Para una sola consulta se utilizan {}
  • Para más de una consulta se utiliza []
  • 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.
    • Con 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 0
  • must_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