单个索引内两个弹性类型之间的内部连接操作
Inner Join operations between two Elastic Types inside a single Index
我在弹性索引中有两种类型,例如 Employees 和 Cities,
Employees 类型的文档结构类似于
[{
"_index": "zase",
"_type": "Employees",
"_id": "100",
"_score": 1,
"_source": {
"sid": 100,
"name": "San Andreas",
"stageid": 0
}
},
{
"_index": "zase",
"_type": "Employees",
"_id": "101",
"_score": 1,
"_source": {
"sid": 101,
"name": "Zack",
"stageid": 0
}
}]
类型城市的文档结构如下,
[{
"_index": "zase",
"_type": "Cities",
"_id": "1",
"_score": 1,
"_source": {
"sid": 1,
"name": "Virginia",
"EmployeesID": [
0:100,
1:125,
2:143
]
}
},
{
"_index": "zase",
"_type": "Cities",
"_id": "2",
"_score": 1,
"_source": {
"sid": 2,
"name": "New Field",
"EmployeesID": [
0: 110
]
}
}]
当使用城市名称 'Virginia' 查询弹性搜索时,我需要获取员工信息,其中 Cities.EmployeesID == Employees.sid,
在Elastic Search 中,跨不同类型的RDBMS Join 操作是否可行?
任何帮助将不胜感激。
JOIN 查询在 ES 中尚不支持,虽然有一个 issue that is being discussed and a pull request 试图提供该功能,但工作目前因一些冲突而停滞不前。
同时,对于您的简单用例,您可以使用 elasticsearch-sql 插件来实现您想要的。
如果这是您数据检索的主要用例,您也可以考虑使用 parent-child 关系。
我在弹性索引中有两种类型,例如 Employees 和 Cities,
Employees 类型的文档结构类似于
[{
"_index": "zase",
"_type": "Employees",
"_id": "100",
"_score": 1,
"_source": {
"sid": 100,
"name": "San Andreas",
"stageid": 0
}
},
{
"_index": "zase",
"_type": "Employees",
"_id": "101",
"_score": 1,
"_source": {
"sid": 101,
"name": "Zack",
"stageid": 0
}
}]
类型城市的文档结构如下,
[{
"_index": "zase",
"_type": "Cities",
"_id": "1",
"_score": 1,
"_source": {
"sid": 1,
"name": "Virginia",
"EmployeesID": [
0:100,
1:125,
2:143
]
}
},
{
"_index": "zase",
"_type": "Cities",
"_id": "2",
"_score": 1,
"_source": {
"sid": 2,
"name": "New Field",
"EmployeesID": [
0: 110
]
}
}]
当使用城市名称 'Virginia' 查询弹性搜索时,我需要获取员工信息,其中 Cities.EmployeesID == Employees.sid,
在Elastic Search 中,跨不同类型的RDBMS Join 操作是否可行? 任何帮助将不胜感激。
JOIN 查询在 ES 中尚不支持,虽然有一个 issue that is being discussed and a pull request 试图提供该功能,但工作目前因一些冲突而停滞不前。
同时,对于您的简单用例,您可以使用 elasticsearch-sql 插件来实现您想要的。
如果这是您数据检索的主要用例,您也可以考虑使用 parent-child 关系。