在 Elasticsearch 中,嵌套(nested)字段类型用于表示对象数组,其中每个对象都可以作为独立的文档进行索引。嵌套文档是 Elasticsearch 中一种特殊的文档结构,它允许你在一个字段中存储多个独立的 JSON 对象,并且这些对象之间可以独立地进行搜索和分析。在本文中,我们将深入探讨 Elasticsearch 的 nested 查询,以及如何处理嵌套文档。
一、嵌套文档的概念
在 Elasticsearch 中,嵌套文档是一种特殊的文档结构,它允许你在一个字段中存储多个独立的 JSON 对象。这些对象被视为文档的子文档,它们与父文档一起被索引,但具有独立的索引和搜索功能。嵌套文档的主要用途是表示具有一对多关系的数据,例如订单和订单项、用户和他们的评论等。
二、创建嵌套字段
要在 Elasticsearch 中创建嵌套字段,你需要在映射(mapping)中定义它。以下是一个示例映射,其中包含一个名为 comments
的嵌套字段:
PUT /my_index
{
"mappings": {
"properties": {
"user": {
"type": "text"