当前位置: 首页 > 面试题库 >

如何记录或打印被调用的python elasticsearch-dsl查询

邴景山
2023-03-14
问题内容

我正在为我的python应用程序使用elasticsearch-
dsl
查询elasticsearch

为了调试elasticsearch-dsl库实际生成的查询,我无法记录或打印最终查询到elasticsearch的查询。

例如,就像看到发送到elasticsearch的请求正文一样:

{
    "query": {
        "query_string": {
           "query": "Dav*",
           "fields": ["name", "short_code"],
           "analyze_wildcard": true
        }
    }
}

试图将elasticsearch日志级别提高到TRACE。即使这样,也无法看到已执行的查询。


问题答案:

看看我的博客文章在这里,
“以指数级Slowlog设置”
一节。基本上,您可以使用slowlog在Elasticsearch生成的独立日志文件中打印查询。我建议使用非常低的阈值以能够查看 所有 查询。

例如,对于特定索引,如下所示:

PUT /test_index/_settings
{
  "index": {
    "search.slowlog.level": "trace",
    "search.slowlog.threshold.query.trace": "1ms"
  }
}

要么

PUT /_settings
{
  "index": {
    "search.slowlog.level": "trace",
    "search.slowlog.threshold.query.trace": "1ms"
  }
}

作为所有索引的群集范围设置。

查询将记录在您的/logs位置,即名为的文件[CLUSTER_NAME]_index_search_slowlog.log



 类似资料:
  • 我正在为我的python应用程序使用elasticsearch ch-dsl来查询弹性搜索。 为了调试elasticsearch dsl库实际生成的查询,我无法记录或打印到elasticsearch的最终查询。 例如,希望看到发送给elasticsearch的请求正文如下: 尝试将elasticsearch日志级别提高到TRACE。即使这样,也无法看到已执行的查询。

  • 问题内容: 在调试Python脚本时,我真的很想知道整个程序的整个调用堆栈。理想的情况是,如果有一个用于python的命令行标志,它将导致Python在调用它们时打印所有函数名(我检查了,但是没有找到这种类型的东西)。 由于此脚本中函数的数量众多,因此,我尽量不要在每个函数和/或类的开头添加打印语句。 一个中间的解决方案是使用PyDev的调试器,放置几个断点并检查程序中给定点的调用堆栈,因此我暂时

  • 问题内容: 我想更改网页上的某些内容。我也想隐藏一些东西。打印时,有没有办法用CSS做到这一点?我尤其希望能够隐藏一些DIV及其包含的所有DIV。 问题答案: 可以使用单独的打印样式表来实现。该属性是关键:

  • testdate.java:

  • 本文向大家介绍Java如何调用TSC打印机进行打印详解,包括了Java如何调用TSC打印机进行打印详解的使用技巧和注意事项,需要的朋友参考一下 前言 最近项目中用到了打印机,最开始的完全不懂,现在弄好了,所以做了总结,该篇包括后台的调用打印(两种方式)跟前端的js的打印,但是只有IE现在支持打印,而且如果想远程连接打印机,二维码的生成和直接由打印机的命令进行操作,就要把修改浏览器的安全配置,下面再

  • 问题是,在这种代码状态下,文件和目录是这样打印的: 但是我需要先打开目录,然后打开文件:靠近。我试图找出问题出在哪里,但无济于事。我需要改变什么,在代码中的哪里得到想要的结果?