elasticsearch父子Map和索引

cyvaqqii  于 2021-06-13  发布在  ElasticSearch
关注(0)|答案(1)|浏览(440)

我在看《elasticsearch:权威指南》一书。这本书是过时的,当一些东西不工作,我在互联网上搜索它,使它与新版本的工作。但我找不到任何有用的父子Map和索引。
例如:

{
    "mappings": {
        "branch": {},
        "employee": {
            "_parent": {
                "type": "branch" 
            }
        }
    }
 }

如何在新版本的elasticsearch中表示以下Map。我如何索引以下父对象:

{ "name": "London Westminster", "city": "London", "country": "UK" }

以及以下childer:

PUT company/employee/1?parent=London
{
    "name": "Alice Smith",
    "dob": "1970-10-24",
    "hobby": "hiking"
}

另外,我正在使用elasticsearch python客户端,如果能提供示例将不胜感激。

cigdeys3

cigdeys31#

已删除\u父字段以支持联接字段。
联接数据类型是一个特殊字段,用于在同一索引的文档中创建父/子关系。relations部分定义文档中一组可能的关系,每个关系都是父名称和子名称。
考虑 company 作为父母 employee 作为孩子
索引Map:

{
  "mappings": {
    "properties": {
      "my_join_field": { 
        "type": "join",
        "relations": {
          "company": "employee" 
        }
      }
    }
  }
}

中的父文档 company 上下文

PUT /index-name/_doc/1
{
  "name": "London Westminster",
  "city": "London",
  "country": "UK",
  "my_join_field": {
    "name": "company"
  }
}

子文档

PUT /index-name/_doc/2?routing=1&refresh
{
  "name": "Alice Smith",
  "dob": "1970-10-24",
  "hobby": "hiking",
  "my_join_field": {
    "name": "employee",
    "parent": "1"
  }
}

相关问题