Я пытаюсь использовать пример с сайта эластичного поиска со своими параметрами, но он не работает.
Запрос:
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"range": {
"activity_date": {
"from": "2013-11-01",
"to": "2014-11-01"
}
}
}
}
},
"aggs": {
"net_ordered_units": {
"sum": {
"field": "net_ordered_units"
}
}
}
}
Ошибка, которую я получаю:
{
"error": "SearchPhaseExecutionException[Failed to execute phase [query_fetch], all shards failed; shardFailures {[YoGKlejVTC6jhg_OgPWXyTg][test][0]: SearchParseException[[test][0]: query[ConstantScore(cache(activity_date:[1383264000000 TO 1414886399999]))],from[-1],size[-1]: Parse Failure [Failed to parse source [{\"query\": {\"filtered\":{\"query\":{\"match_all\":{}},\"filter\":{\"range\":{\"activity_date\":{\"from\":\"2013-11-01\",\"to\":\"2014-11-01\"}}}}},\"aggs\":{\"net_ordered_units\":{\"sum\": {\"field\":\"net_ordered_units\"}}}}]]]; nested: SearchParseException[[test][0]: query[ConstantScore(cache(activity_date:[1383264000000 TO 1414886399999]))],from[-1],size[-1]: Parse Failure [No parser for element [aggs]]]; }]",
"status": 400
}
При чем здесь провал шарда? И пишет нет парсера для аггов, что тут делать? По сути, мне нужно выполнить такие операции, как сумма, а затем найти из нее максимум. Как мне изменить приведенный выше код, чтобы получить это?
No parser for element [aggs]]
часть сообщения об ошибке. Попробуйте запуститьcurl localhost:9200/_search -d '{"bogus_field_that_is_not_valid_in_a_search_object": {}}'
, и вы все равно получите ошибку сегмента, обертывающую ошибку синтаксического анализа. :) - person Alex Brasetvik   schedule 22.05.2014