Я новичок в Elasticsearch.
У меня есть документы, и каждый из них имеет такую структуру:
{
"created_at": "2018-01-01 01:01:01",
"student": {
"first_name": "john",
"last_name": "doe"
},
"parent": {
"first_name": "susan",
"last_name": "smile"
}
}
Я просто хочу отсортировать эти документы на основе student.first_name
, используя пакет olivere/elastic
для go
.
Это мой запрос на данный момент:
searchSvc = searchSvc.SortBy(elastic.NewFieldSort("student.first_name").Asc())
и я получаю эту ошибку:
эластичный: ошибка 400 (неверный запрос): все шарды не пройдены
[Тип = search_phase_execution_exception]
Однако, когда я попытался отсортировать его по created_at
, он работает.
searchSvc = searchSvc.SortBy(elastic.NewFieldSort("created_at").Asc())
У меня нет отображения в индексе. (это проблема?)
Я пытался найти что-то вроде «сортировки Elasticsearch по вложенному объекту», но у меня всегда возникали вопросы, которые требуют сортировки массива во вложенном объекте.