如何调试elastic4s故障?

时间:2014-12-09 19:20:27

标签: elastic4s

我有一些弹性4代码,它们先前已成功索引文档。现在,新文件还没有出现。

我怎样才能a)看到弹性搜索发送到elasticsearch的查询和b)看到给出的响应,以便我可以调试索引?

3 个答案:

答案 0 :(得分:2)

回答你关于看到发送给elasticsearch的请求的第一个问题:我也摸索了这一点,并发现了对单元测试的洞察力。查看IndexDslTestSearchDslTest。各种*Request类都有一个_builder,可以将查询生成为JSON。试试这个以查看发送到elasticsearch的内容:

val req = index into ...
println(req._builder.toString)

答案 1 :(得分:2)

在Elastic4s 1.6.2中,您可以在许多请求上使用show类型类来获取JSON等效,以便在REST客户端中进行调试/轻松测试。

这很简单。

val req = search in "index" / "type" query "kate bush"
logger.debug(s"Search request ${req.show}")

.show方法将呈现JSON输出。它适用于大多数请求类型。

答案 2 :(得分:0)

正如@Ashalynd在评论中所说,你可以使用感知工具来试图找出问题。

此外,我认为您应该使用慢速日志记录来解决问题。

查看本文如何在 logging.yml 文件中设置日志记录配置。

*非常重要的是在找出问题后关闭调试,因为它的速度很慢。 (慢速记录:))

slow logging