【发布时间】:2018-11-14 03:26:30
【问题描述】:
我是 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(错误请求):所有分片均失败 [type=search_phase_execution_exception]
但是,当我尝试按 created_at 对其进行排序时,它可以正常工作。
searchSvc = searchSvc.SortBy(elastic.NewFieldSort("created_at").Asc())
我在索引中没有任何映射。 (这是问题吗?)
我尝试搜索“Elasticsearch 按嵌套对象排序”之类的内容,但总是遇到需要对嵌套对象中的数组进行排序的问题。
【问题讨论】:
-
在我看来
student是一个数组。我不熟悉 go,但是是否有数组访问运算符[]或类似的,例如您可能在 C 或 php 等中找到的? -
student不是一个数组。它只是一个对象
标签: elasticsearch go