我有一个在AWS Elasticsearch实例上运行的Elasticsearch集群。它已经运行了几个月。我想知道过去几个月来使用最频繁的查询请求。 Elasticsearch是否将所有查询保存在我可以搜索的位置?还是我必须以编程方式保存分析请求?
答案 0 :(得分:0)
据我所知,Elasticsearch默认不会保存所有查询的记录或频率直方图。但是,有一种方法可以让它记录所有查询,然后将日志发送到某个地方以进行汇总/搜索以获得最佳结果(顺便说一句,您可以将Elasticsearch用于:D)。可悲的是,只有在配置了此功能后,您才能跟踪查询,我怀疑您能否找到最近几个月的历史查询记录。
为此,您将利用Elasticsearch的慢查询日志。 default thresholds设计为仅记录慢速查询,但是如果将这些默认值设置为0s
,则Elasticsearch会将 any 查询记录为慢速查询,为您提供所有记录查询。有关详细说明,请参见上面的链接。如何在yaml
配置文件中为整个群集进行设置,例如
index.search.slowlog.threshold.fetch.debug: 0s
或使用
为每个索引动态设置PUT /<my-index-name>/_settings
{
"index.search.slowlog.threshold.query.debug": "0s"
}
要清除您选择的日志级别并不严格,但是使用debug
可以使您以更危险的级别(例如{{ 1}}和info
,它们可能会有用。
我不熟悉如何配置AWS Elasticsearch集群,但是由于以上是所有版本中的核心Elasticsearch设置,我知道应该有一种方法。
搜索愉快!