Elasticsearch 7根据nest字段排序
时间: 2023-07-20 16:08:55 浏览: 212
elasticsearch-net:Elasticsearch.Net和NEST
在 Elasticsearch 7 中,您可以使用 `nested` 类型来存储嵌套文档,并使用 `nested` 查询来搜索这些文档。如果您想对 `nested` 字段进行排序,可以使用 `nested` 聚合。以下是一个简单的示例:
假设您有一个名为 `books` 的索引,其中包含一个 `nested` 字段 `authors`。您可以使用以下查询来按 `authors` 字段中的 `name` 字段进行排序:
```
{
"size": 10,
"sort": [
{
"authors.name.keyword": {
"order": "asc",
"nested": {
"path": "authors"
}
}
}
],
"query": {
"match_all": {}
}
}
```
在这个例子中,我们使用 `authors.name.keyword` 来指定排序字段。我们还指定了 `nested` 参数,告诉 Elasticsearch 我们要对嵌套字段进行排序,并使用 `path` 参数指定 `authors` 是嵌套字段的名称。
请注意,当您使用 `nested` 聚合时,您需要在查询中指定 `nested` 查询。否则,Elasticsearch 不会正确地解释您的查询,因为它不知道哪个字段是嵌套的。
阅读全文