merge
介绍
功能:封装多个并发查询并对结果集合进行合并的查询模式
场景:查询多张表,把多张表查询出来的结果进行合并
执行流程:首先各个sub search并行执行,然后merge
从左往右
顺序执行
语法
sub_search1
merge{
[&distinct clause]
[&orderby clause]
[&range clause]
[&sorter clause]
[&tag clause]
}
sub_search2
sub_search1和sub_search2
二者均可以是atomic、join、merge、and以及andnot中的任意一种类型
二者返回的结果必须是同构的
可选子句:语法详见通用子句
distinct
orderby
range
sorter
tag
示例
// merge不同表里的数据
search{table=ig_ref_userfrd&keys=1&fields=userid}merge{}search{table=userinfo&keys=3&fields=userid}
// 指定orderby,对最终结果通过price降序排列
search{table=ig_ref_userbkt&keys=2:33}merge{}search{table=userinfo&keys=2:1}merge{orderby=-price}search{table=userinfo&keys=1}