我有一些弹性4代码,它们先前已成功索引文档。现在,新文件还没有出现。
我怎样才能a)看到弹性搜索发送到elasticsearch的查询和b)看到给出的响应,以便我可以调试索引?
答案 0 :(得分:2)
回答你关于看到发送给elasticsearch的请求的第一个问题:我也摸索了这一点,并发现了对单元测试的洞察力。查看IndexDslTest
和SearchDslTest
。各种*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 文件中设置日志记录配置。
*非常重要的是在找出问题后关闭调试,因为它的速度很慢。 (慢速记录:))