我正在尝试在我的kotlin repo中使用elasticsearch的searchasync方法。我遇到了两个大问题,第一个是,我不知道为什么es的searchasync会长时间阻塞线程。
代码很简单
esClint.searchAsync(request, RequestOptions.DEFAULT, SearchListener())
当searchlistener写在
class SearchListener<T>() : ActionListener<T> {
override fun onFailure(e: Exception?) {
println(e)
}
override fun onResponse(response: T) {
println(response)
}
}
通过启动本地ElasticSearch和kibana并调用端点,我可以看到es很快得到响应(在onresponse函数中),但是线程在继续服务流量之前被阻塞了5秒。
当我使用ElasticSearch的搜索功能时,似乎没有阻塞问题。
我不是在正确地使用这个方法吗。。。?另外,elasticsearch的searchasync和search方法之间有什么区别?我应该用哪一个。。
暂无答案!
目前还没有任何答案,快来回答吧!