悟空,拿我的打狗棒来

请问在使用JavaAPI查询ES时,没有数据命中,如何在返回值response里面获取到查询时的请求参数值?

Elasticsearch | 作者 chenk | 发布于2020年04月21日 | 阅读数:2485

ES版本7.3.2,
Java1.8,
spark 2.3.0
问题描述:
项目需要使用spark streaming实时消费Kafka的数据,将消费的数据查询ES,对于在ES没有查询到的数据,需要推送到Kafka另外一个topic,因为spark streaming从kafka消费的数据量比较大,所以采用ES的MultiSearchRequest来封装一系列查询请求,现在问题就是在执行msearch后,从ES返回的MultiSearchResponse里面没有办法知道是哪一个查询请求参数未命中数据。
 
简单描述就是现在封装了1000个请求查询作为批量查询,其中有100个查询未命中数据,需要根据返回值知道这100个查询的请求参数是多少,需要根据请求参数知道原始Kafka数据是多少,然后推送原始数据到另外一个topic。
 
麻烦有知道解决方案的大佬或者有思路的大佬指点指点,万分感谢!
已邀请:

tacsklet - 公司有用到es

赞同来自: chenk

MultiSearchRequest 和MultiSearchResponse应该是一一对应的吧,遍历结果如果有为0的记录下来对应位置的request就行啦

要回复问题请先登录注册