Join 加入弹性搜索
目前,我需要使用弹性搜索实现一个连接,下面是一个场景: 假设弹性搜索中的每个条目都有三个字段:id、姓名和爱好。给出两个名字(例如“约翰”和“玛丽”),基本上我想得到所有有相同爱好的约翰和玛丽(可能不同) 以下是可能的结果:Join 加入弹性搜索,join,
elasticsearch,Join,
elasticsearch,目前,我需要使用弹性搜索实现一个连接,下面是一个场景: 假设弹性搜索中的每个条目都有三个字段:id、姓名和爱好。给出两个名字(例如“约翰”和“玛丽”),基本上我想得到所有有相同爱好的约翰和玛丽(可能不同) 以下是可能的结果: [{id: 1, name: 'john', hobby: 'singing'}, {id: 2, name: 'mary', hobby: 'singing'}, {id: 3, name: 'mary', hobby: 'singing'}, {id: 4, na
[{id: 1, name: 'john', hobby: 'singing'},
{id: 2, name: 'mary', hobby: 'singing'},
{id: 3, name: 'mary', hobby: 'singing'},
{id: 4, name: 'john', hobby: 'cycling'},
{id: 5, name: 'john', hobby: 'cycling'},
{id: 6, name: 'mary', hobby: 'cycling'}
]
我知道我可以在本地执行多个查询和连接,但我想知道弹性搜索是否可以在内部处理这种情况
我正在设计一个从零开始支持此功能的映射,因此任何建议都将不胜感激
提前谢谢 如果不能将搜索词组合到单个查询中,可以使用函数创建子查询的联合
{
"dis_max" : {
"tie_breaker" : 0.7,
"boost" : 1.2,
"queries" : [
{
"term" : { "name" : "john" }
},
{
"term" : { "name" : "mary" }
}
]
}
}