Я начинаю с поиска эластичных материалов, и я застреваю при попытке сделать некоторую агрегацию. В принципе, у меня есть набор данных, состоящий из данных в следующей форме:Упругий поиск Совокупность в ведрах при условиях
{
"name": "The Chef Restaurant",
"city": "New York",
"state": "New York",
"rating": "GOOD",
"type": "Continental"
}
Теперь я хочу сделать некоторые агрегации и получить все рестораны Continental, хорошие рестораны, Рестораны в Нью-Йорке в одном запросе.
Обратите внимание, что я не хочу подсчет всех типов ресторанов, я просто хочу подсчет конкретных типов. Кроме того, эти агрегации взаимозависимы. То есть, когда я говорю «ХОРОШО», я не обязательно хочу, чтобы это было Континентальным, это может быть итальянский или что-то еще.
Это то, что я пробовал:
{
"size": 0,
"query": {
"match_all": {}
},
"aggregations": {
"good_restaurants": {
"filters": {
"match": {
"rating": "CONTINENTAL"
}
}
},
"continental_restaurants": {
"filters": {
"match": {
"type": "CONTINENTAL"
}
}
},
"restaurants_in_new_york": {
"filters": {
"match": {
"type": "CONTINENTAL"
}
}
}
}
}
, который дает мне ошибку:
{
"error": {
"root_cause": [
{
"type": "search_parse_exception",
"reason": "Unknown key for a START_OBJECT in [good_restaurants]: [match].",
"line": 9,
"col": 17
}
],
"type": "search_phase_execution_exception",
"reason": "all shards failed",
"phase": "query",
"grouped": true,
"failed_shards": [
{
"shard": 0,
"index": "test_master",
"node": "-aWy78_mRaaBMcOAeiN9tg",
"reason": {
"type": "search_parse_exception",
"reason": "Unknown key for a START_OBJECT in [good_restaurants]: [match].",
"line": 9,
"col": 17
}
}
]
},
"status": 400
}
Я знаю, что это похоже на простой вопрос, но я застрял на него в течение длительного время. Любая помощь будет оценена по достоинству.