如何记录或打印被调用的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

回到顶部