query - elasticsearch tutorial
Cómo aumentar la coincidencia exacta sobre la coincidencia múltiple en la búsqueda elástica (2)
Estoy ejecutando una consulta siguiente para aumentar la coincidencia exacta sobre multi_match en la búsqueda elástica. Pero, no obteniendo los resultados esperados.
Mi objetivo es impulsar en el siguiente orden: "desarrollador java"> desarrollador java Y> desarrollador Java O
¿Alguien puede ayudar a solucionar esto? Necesito saber cómo le doy impulso a match_phrase aquí y cómo agregar campos restantes en match_phrase
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "java developer",
"fields": [
"title",
"content",
"tags",
"summary"
]
}
}
],
"should": [
{
"match_phrase": {
"title": "java developer"
}
},
{
"multi_match": {
"query": "java developer",
"fields": [
"title",
"content",
"tags",
"summary"
],
"operator": "and",
"boost": 4
}
}
]
}
}
Muchas gracias por su ayuda.
Esto es lo que funcionó para mí:
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "java developer",
"fields": [
"title",
"content",
"tags",
"summary"
]
}
}
],
"should": [
{
"multi_match": {
"query": "java developer",
"fields": [
"title",
"content",
"tags",
"summary"
],
"type": "phrase",
"boost": 10
}
},
{
"multi_match": {
"query": "java developer",
"fields": [
"title",
"content",
"tags",
"summary"
],
"operator": "and",
"boost": 4
}
}
]
}
}
Establezca el tipo de consulta de concordancia múltiple en most_fields :
"query": {
{
"multi_match" : {
"query": "java developer",
"type": "best_fields",
"fields": ["title", "content", "tags", "summary" ]
}
}
}