İç içe geçmiş öğelerin daha fazlasına uyan belgeleri (daha yüksek puan) sağlayan bir sorgu yazmaya çalışıyorum ve bunların eşleşmesi için bunlardan en azına da sahip.İç içe geçmiş sorgu alt koşulla ve "min_should_match"
Şimdiye kadar yaptığım sorgu bu, ancak geri dönen 0 eşleşmesi.
belirtildiği gibi{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "jobPost.role",
"score_mode": "sum",
"query": {
"bool": {
"should": [
{
"term": {
"role.id": {
"value": "12",
"boost": 1
}
}
},
{
"term": {
"role.id": {
"value": "18",
"boost": 1
}
}
},
{
"term": {
"role.id": {
"value": "24",
"boost": 1
}
}
},
{
"term": {
"role.id": {
"value": "28",
"boost": 1
}
}
}
],
"minimum_number_should_match": "-40%"
}
}
}
}
]
}
}
}
, bu şimdiye min_should_match
gereksinimi kaldırırsanız, söz konusu maçları dönmek yapar, ancak, çalışmaz.
Sorun şu ki, belirli bir doğruluk düzeyine sahip olmam gerekiyor ve min_score
yan tümcesinde geçiş yapamıyorum.
Herhangi bir kolay çözüm? Yine de min_should_match
'u ilk must
numarasına götürmek ve nested
koşuluyla aynı seviyede olmakla ilgili; Sadece ne yapmam gerektiğini ya da başka bir çözümün olup olmadığını bilmiyorum.