У меня есть этот запрос для получения данных из экземпляра AWSasticSearch v6.2
{
"query": {
"bool": {
"must": [
{
"term": {"logLevel": "error"}
},
{
"bool": {
"should": [
{
"match": {"EventCategory": "Home Management"}
}
]
}
}
],
"filter": [{
"range": { "timestamp": { "gte": 155254550880 }}
}
]
}
},
"size": 10,
"from": 0
}
Мои данные имеют несколько категорий событий, например «Управление домом» и «Управление учетными записями пользователей». Проблема с этим внутри should
, имея match
, возвращает все данные, потому что фраза «Управление» относится к обеим категориям. Если я использую term
вместо match
, он вообще ничего не возвращает, даже если заданное значение точно такое же, как в документе.
Мне нужно получить данные, когда любая из данной категории сопоставляется с остальными фильтрами.
EDIT:
Не может быть ни одного, одного или более EventCategory
в should
предложение