【发布时间】:2018-11-29 08:53:56
【问题描述】:
我正在学习 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,必须在同一级别。例如,
{
"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,但我想从这个开始。
【问题讨论】:
-
谢谢,通过这些帖子,我将答案转换为 NEST
标签: elasticsearch nest