我有一些以前成功索引文档的 elastic4s 代码。现在,新文档没有出现。
我怎样才能a)查看elastic4s发送到elasticsearch的查询和b)查看给出的响应,以便我可以调试索引?
我有一些以前成功索引文档的 elastic4s 代码。现在,新文档没有出现。
我怎样才能a)查看elastic4s发送到elasticsearch的查询和b)查看给出的响应,以便我可以调试索引?
在 Elastic4s 1.6.2 中,您可以在多个请求上使用 show typeclass 来获得 JSON 等价物,以便在 REST 客户端中进行调试/轻松测试。
这很简单。
val req = search in "index" / "type" query "kate bush"
logger.debug(s"Search request ${req.show}")
该.show
方法将呈现 JSON 输出。它适用于大多数请求类型。
在回答您关于查看发送到 elasticsearch 的请求的第一个问题时:我也对此进行了摸索,并在单元测试中找到了见解。看IndexDslTest
和SearchDslTest
。各种*Request
类都有一个_builder
将查询生成为 JSON 的类。试试这个,看看发送到 elasticsearch 的内容:
val req = index into ...
println(req._builder.toString)
正如@Ashalynd 在评论中所说,您可以使用感知工具来尝试找出问题。
另外我认为您应该使用慢速日志记录来解决问题。
查看这篇文章如何在logging.yml文件中设置日志记录配置。
*非常重要的是在你弄清楚事情之后关闭调试,因为它会减慢速度。(记录缓慢:))