You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS OpenSearch中获取搜索行为相关指标与可视化?

AWS OpenSearch 搜索行为统计与可视化实现方案

默认情况下,AWS OpenSearch不会自动记录用户的搜索行为数据,要实现你需要的搜索词统计、搜索次数及结果数可视化,需要分三步操作:

1. 捕获并存储搜索行为数据

你有两种可行的方案来收集搜索日志:

方案一:通过OpenSearch内置日志功能捕获

通过调整集群或索引的动态设置,将所有搜索请求(无论快慢)记录到日志文件,再导入到OpenSearch的专用索引中:

  1. 更新集群设置,开启全量搜索慢日志(阈值设为0ms以记录所有请求):
PUT _cluster/settings
{
  "persistent": {
    "index.search.slowlog.threshold.query.info": "0ms",
    "index.search.slowlog.threshold.fetch.info": "0ms",
    "index.search.slowlog.level": "info"
  }
}
  1. 使用Filebeat(或其他日志采集工具)将服务器上的搜索日志文件导入到OpenSearch,创建名为search-logs-*的时序索引存储这些数据,同时确保日志中提取出搜索词(query内容)、请求时间、返回结果数(hits.total) 这些关键字段。

方案二:应用层埋点记录

如果是你的业务应用直接调用OpenSearch搜索API,建议在应用代码中添加埋点:每次调用搜索接口后,将搜索词、请求时间、返回结果数、用户标识(可选)等数据写入到OpenSearch的search-logs-*索引中。这种方式更灵活,能精准过滤掉内部运维请求,避免无用日志干扰。

2. 配置索引生命周期管理(ILM)

为search-logs-*索引配置ILM策略,自动删除超过7天的旧日志,避免索引无限膨胀占用资源:

  • 创建ILM策略,设置“7天后删除”的规则
  • 将该策略绑定到search-logs-*索引模板

3. 在OpenSearch Dashboards中构建可视化

  1. 先在Dashboards中创建search-logs-*的索引模式,确保时间字段被正确识别。
  2. 按需创建可视化图表:
  • 唯一搜索词统计:用「数据表格」或「饼图」,选择terms聚合方式,基于搜索词字段统计唯一值数量。
  • 搜索次数排名:用「水平条形图」,X轴设为搜索词,Y轴设为计数(count),按次数降序排序。
  • 搜索词对应结果数:在条形图中添加子聚合,选择avg或sum函数计算对应结果数;或用「折线图」同时展示搜索次数和平均返回结果数。

注意事项

  • 敏感数据处理:如果搜索词包含用户隐私信息,必须在日志记录前做脱敏处理,符合合规要求。
  • 性能优化:全量记录搜索日志会轻微影响集群性能,建议先在测试环境验证,或只记录业务相关的搜索请求(排除内部健康检查、监控类请求)。

内容的提问来源于stack exchange,提问作者Lloyd Banks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 08:05:22