我坚持一个必须结合某些条件的查询。
目录的这些属性如下
我完全不知道如何组合它们,以便查询返回我需要的内容。
"_id": ["7","10"]
)OR "_parentID": "1"
)OR "regexp": {"path": "/foobar.*"}
)并且级别介于两个整数("range": {"level": {"gte": 2, "lte": 3 } }
)之间另外,所有条目都必须来自一个已定义的目录
我不会写下我的所有尝试。我尝试使用必须和应该使用bool查询,但这不适用于c):
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"type": {
"value": "category"
}
}
],
"should": [
{
"regexp": {
"path": "/foobar.*"
}
},
{
"range": {
"level": {
"gte": 2,
"lte": 3
}
}
},
{
"term": {
"_id": [
"7",
"10"
]
}
}
]
}
}
}
}
}
结合和/或条件的最佳方式是什么?我有点失落。
答案 0 :(得分:0)
我认为这应该非常接近你所需要的。
GET devdev/alert/_search
{
"filter": {
"or": {
"filters": [
{
"terms": {
"_id": [
"eee75eJpRua4HasVzz0PeA",
"VALUE2"
]
}
},
{
"term": {
"_parentID": "SE.SE.0000"
}
},
{
"and": {
"filters": [
{
"term": {
"regexp": "foobar"
}
},
{
"range": {
"level": {
"from": 2,
"to": 3
}
}
}
]
}
}
]
}
}
}