我需要根据should子句的顺序/重要性从ES获得结果。我在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
}