{
"query":{
"constant_score": {
"filter": {
"match":{
"request_1":"rent"
}
}
}
},
"aggs": {
"s": {
"terms": {
"field": "serial_number"
}
}
}
}
Это мой запрос, который отлично работает.
Я хочу внутри filter.match Я хочу добавить еще одно поле, чтобы агрегирование происходило с результатом, возвращенным, когда два фильтра были удовлетворены.
Я пытаюсь сделать что-то вроде:
{
"query":{
"constant_score": {
"filter": {
"match":{
"request_1":"rent",
"request_2":"check"
}
}
}
}
}
как было предложено, я попытался
{
"query":{
"constant_score": {
"filter": [
{
"match":{
"request_1":"rent"
}
},
{
"match":{
"request_2":"check"
}
}
]
}
},
"aggs": {
"s": {
"terms": {
"field": "serial_number"
}
}
}
}
, который выдает ошибку:
{
"error": {
"root_cause": [
{
"type": "parsing_exception",
"reason": "unexpected token [START_ARRAY]",
"line": 4,
"col": 17
}
],
"type": "parsing_exception",
"reason": "unexpected token [START_ARRAY]",
"line": 4,
"col": 17
},
"status": 400
}
Так что я получаю агрегацию от тех, у кого есть только "аренда" в поле request_1и "проверить" в поле request_2. Как мне это сделать?