Я изучаю Elasticsearch, но я не знаю, как сочетать должны и должны.Мне нужно одно поле с некоторым значением и другое поле с несколькими значениями, это условие может повторяться несколько раз.Например,
(Field1 == 1 and (Field2 == "a" or Field2 == "b" )) or
(Field1 == 2 and (Field2 == "c" or Field2 == "d" )) or
(Field1 == 3 and (Field2 == "a" or Field2 == "c" )) .... etc
Я пробую много способов, но я не могу использовать bool, должен o на том же уровне.Например,
{
"query": {
"bool": {
"should": [
{
"bool": {
"must": [
{ "term": { "Field1": 1 } },
{
"bool": {
"should": [
{ "terms": { "Field2" : [ "a", "b" ] } }
]
}
}
]
},
"bool": {
"must": [
{ "term": { "Field1": 2 } },
{
"bool": {
"should": [
{ "terms": { "Field2" : [ "c", "d" ] } }
]
}
}
]
},
"bool": {
"must": [
{ "term": { "Field1": 2 } },
{
"bool": {
"should": [
{ "terms": { "Field2" : [ "a", "c" ] } }
]
}
}
]
}
}
]
}
}
}
Мне действительно нужно NEST, но я хочу начать с этого.