我一直在关注这本书"Elasticsearch:最终指南";。这本书已经过时了,当有些东西不起作用时,我会在互联网上搜索,并使其与新版本一起使用。但我找不到任何有用的父子映射和索引。
例如:
{
"mappings": {
"branch": {},
"employee": {
"_parent": {
"type": "branch"
}
}
}
}
如何在新版的Elasticsearch中表示以下映射。以及我如何索引以下父级:
{ "name": "London Westminster", "city": "London", "country": "UK" }
和以下子代:
PUT company/employee/1?parent=London
{
"name": "Alice Smith",
"dob": "1970-10-24",
"hobby": "hiking"
}
此外,我正在使用elasticsearch python客户端,并在其中提供示例将不胜感激。
已删除_parent字段以支持join字段
联接数据类型是一个特殊字段,用于创建父/子同一索引的文档内的关系。关系部分在文档中定义一组可能的关系,每个关系关系是父名称和子名称。
将company
视为父级,将employee
视为其子级
索引映射:
{
"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"
}
}