如何记录或打印被调用的python elasticsearch-dsl查询
我正在为我的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-dsl查询 的全部内容, 来源链接: utcz.com/qa/403037.html

