1

我有一些以前成功索引文档的 elastic4s 代码。现在,新文档没有出现。

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

4

3 回答 3

3

在 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 输出。它适用于大多数请求类型。

于 2015-07-01T13:10:02.733 回答
2

在回答您关于查看发送到 elasticsearch 的请求的第一个问题时:我也对此进行了摸索,并在单元测试中找到了见解。看IndexDslTestSearchDslTest。各种*Request类都有一个_builder将查询生成为 JSON 的类。试试这个,看看发送到 elasticsearch 的内容:

val req = index into ...
println(req._builder.toString)
于 2015-05-30T14:10:47.613 回答
0

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

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

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

*非常重要的是在你弄清楚事情之后关闭调试,因为它会减慢速度。(记录缓慢:))

慢速记录

于 2014-12-10T08:27:35.887 回答