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