我有两个弹性索引,分别是index1和index2。index2包含的条目中,index1中的某些行已通过单个字段更改复制。
我想在Elastic中从两个索引执行一个查询,并在一个结果中获得所有值(我可以运行多个查询并实现所需的。但由于数据量非常高,希望尽可能优化时间)。
a)与index1匹配(按ID、字段)的index2值将仅在结果上更新。
B)其余的index1数据将照常出现在结果中。
c)两个数据将在结果中以组合的形式出现。
简而言之,index2将对结果具有优先级。我尝试了很多Elastic的代码变体(script、source、nested、ordering),但都无法实现所需的输出。
有谁能帮帮忙吗?多谢了。
1条答案
按热度按时间2jcobegt1#
使用field collapsing应该可以实现您所需要的功能,即通过折叠ID字段并利用
inner_hits
和sort
乘以_index