Elasticsearch,join数据类型:父字段和子字段的单一Map类型

nle07wnf  于 12个月前  发布在  ElasticSearch
关注(0)|答案(1)|浏览(127)

我想在Elasticsearch 6.3.2中实现两个实体XY之间的父/子关系,每个实体具有完全不同的字段集。我打算为每个关联创建两个Map文件,并在子端定义_parent字段。
但根据ES文档,从6.x开始,单个索引不再支持多个类型。
那么,有了这个限制,我应该把实体XY的所有字段放在一个Map文件中吗?如果是这样,如果我在两个实体中有相同的字段,比如name。我应该把它们命名为x.namey.name吗?这里的方法是什么?

kzipqqlq

kzipqqlq1#

父子文档位于同一索引中。
例如

Parent document:
Post index-name/_doc/1  
{
  "my_id": "1",
  "text": "This is a question",
  "my_join_field": "question" 
}

Child Document:
Post index-name/_doc/2
{
  "my_id": "2",
  "text": "This is answer",
  "my_join_field": {
    "name": "answer", 
    "parent": "1" 
  }
}

上面有相同的字段,它们可以有不同的字段。在这种情况下,字段在一个文档中为空,而在另一个文档中为值。Join type用于标识父文档和子文档

相关问题