我的Elastic Search映射中有一个父子关系,它们看起来像下面。有一个类型为select t.TaskId, t.CompanyId, t.Year, t.Month,
(case when uc.CompanyId is not null then Value end) as Value
from tasks t left join
UsersCompanies uc
on uc.CompanyId = t.CompanyId and uc.UserId = 1;
的“抽象”实体,user
和driver
都继承自该实体。
我已经创建了这样的用户索引。
PUT /用户/
passenger
我已经创建了这样的驱动程序索引。
放置/驱动程序/
{
"mappings": {
"user": {
"properties": {
"firstName": {"type": "text"},
"lastName": {"type": "text"},
"dateOfBirth": {"type": "date"},
"gender": {"type": "keyword"},
"profileType": {"type": "keyword"},
"dateJoined": {"type": "date"}
}
}
}
}
我已经创建了这样的乘客索引。
PUT /乘客/
{
"mappings": {
"driver": {
"_parent": {"type": "user"},
"properties": {
"car": {"type": "text"},
"license": {"type": "text"}
}
}
}
}
现在,我可以在任何这些索引中进行搜索,例如,我可以像这样搜索{
"mappings": {
"passenger": {
"_parent": {"type": "user"},
"properties": {
"record": {"type": "text"},
"table": {"type": "text"}
}
}
}
}
索引:driver
。
但是,如果我搜索GET /driver/
,我希望看到同时来自GET /user/
和driver
索引的记录(因为它们是从passenger
继承的),但是我得到的结果是空的。尽管派生索引中的记录确实存在。
有什么办法可以获取所有从父级继承的索引?