elasticsearch - cutoff_frequency - match query does not support
¿Cuál es la diferencia entre must y filter en Query DSL en elasticsearch? (1)
Soy nuevo en la búsqueda elástica y estoy confundido entre el mosto y el filtro. Quiero realizar una operación entre mis términos, así que hice esto
POST / xyz / _search
{
"query": {
"bool": {
"must": [
{
"term": {
"city": "city1"
}
},
{
"term": {
"saleType": "sale_type1"
}
}
]
}
}
}
lo que me dio los resultados requeridos que coinciden con los términos y con el uso de un filtro como este
POST / xyz / _search
{
"query": {
"bool": {
"must": [
{
"term": {
"city": "city1"
}
}
],
"filter": {
"term": {
"saleType": "sale_type1"
}
}
}
}
}
Obtengo el mismo resultado, así que ¿cuándo debo usar must y cuándo debo usar el filtro? ¿Cuál es la diferencia?
must
contribuir a la puntuación. En el filter
, la puntuación de la consulta se ignora.
Tanto en must
como en filter
, la cláusula (consulta) debe aparecer en los documentos coincidentes. Esta es la razón para obtener los mismos resultados.
Puede consultar este link
Puntuación
La puntuación de relevancia de cada documento está representada por un número de punto flotante positivo llamado
_score
. Cuanto más alto sea el_score
, más relevante_score
el documento.
Una cláusula de consulta genera un _score
para cada documento.
Para saber cómo se calcula la puntuación, consulte este link