Мне нужно получить результаты от ES, исходя из порядка / важности пункта must.У меня есть три предложения "следует" в запросе bool.Приведенный ниже json точно показывает порядок: сначала должен совпадать подстановочный знак, а если есть результаты, то подстановочный знак или вложенность не должны выполняться.Если результатов нет, то подстановочный знак для вложенных, если нет результатов, то совпадать.Я попытался увеличить поля, безрезультатно.
{
"track_scores":true,
"sort":[
{
"readers_amount":{
"order":"desc"
}
},
{
"rating":{
"order":"desc"
}
},
{
"reviews_amount":{
"order":"desc"
}
},
"_score"
],
"query":{
"bool":{
"filter":[
{
"term":{
"is_edition":false
}
}
],
"must_not":[
{
"terms":{
"id_category":[
73
]
}
}
],
"minimum_should_match":1,
"should":[
{
"wildcard":{
"title.raw":{
"value":"james bond*"
}
}
},
{
"nested":{
"path":"authors",
"query":{
"bool":{
"must":{
"wildcard":{
"authors.fullname.raw":"*james bond*"
}
}
}
}
}
},
{
"match":{
"title":{
"query":"james bond"
}
}
}
]
}
},
"from":0,
"size":5
}