数据搜索与分析实践 - 通过 OpenSearch 构建全文搜索与可视化基础设施
解说利用 Amazon OpenSearch Service 的数据搜索与分析设计方法,介绍通过全文搜索、日志分析和仪表板可视化构建分析基础设施的方法。
OpenSearch 作为搜索与分析的统一平台
现代应用程序需要从大量数据中即时搜索所需信息,并可视化数据趋势和模式的能力。Amazon OpenSearch Service 是以全托管方式提供开源 OpenSearch 的服务,支持全文搜索、日志分析、实时监控、安全分析等多种用例。OpenSearch 在保持与 Elasticsearch 兼容性的同时,在 Apache 2.0 许可证下由开源社区推进开发。通过 Serverless 选项,无需容量规划即可开始使用,实现根据工作负载的自动扩展。
作为全文搜索引擎的活用
OpenSearch 的全文搜索功能基于倒排索引提供高速搜索。日语文本搜索通过 kuromoji 分析器进行形态素分析,实现日语特有的分词和搜索精度提升。支持模糊搜索、短语搜索、通配符搜索、正则表达式搜索等多种搜索模式,灵活应对用户的搜索意图。搜索结果的评分基于 BM25 算法,将相关性高的结果排在前面。通过自定义评分,还可根据业务逻辑调整搜索结果的排名。建议功能和自动补全在用户输入过程中即可提示候选项,提升搜索体验。高亮功能强调显示与搜索关键词匹配的部分,提高搜索结果的可视性。在 OpenSearch 中创建索引并设置日语搜索的示例:使用 curl -X PUT "https://search-domain.ap-northeast-1.es.amazonaws.com/products" -H "Content-Type: application/json" -d '{"settings":{"analysis":{"analyzer":{"ja_analyzer":{"type":"custom","tokenizer":"kuromoji_tokenizer","filter":["kuromoji_baseform","ja_stop"]}}}},"mappings":{"properties":{"name":{"type":"text","analyzer":"ja_analyzer"}}}}' 设置 kuromoji 分词器进行日语形态素分析。
日志分析与可观测性
OpenSearch Service 作为日志分析平台被广泛采用,可直接摄取 CloudWatch Logs、VPC 流日志、CloudTrail 日志、ALB 访问日志等 AWS 服务日志。使用 Kinesis Data Firehose 可将流数据自动分发到 OpenSearch,构建实时日志分析管道。Trace Analytics 功能可可视化分布式追踪数据,识别微服务间的请求流和延迟瓶颈。Anomaly Detection 功能利用机器学习自动检测指标的异常模式,发现手动阈值设置难以检测的异常。Alerting 功能在搜索查询结果满足条件时可自动向 SNS、Slack、自定义 Webhook 发送通知,实现对运维团队的即时告警。 如果想系统学习 AWS 日志分析入门,也可参考相关书籍(Amazon)。
通过 OpenSearch Dashboards 实现可视化
OpenSearch Dashboards 是用于数据可视化和仪表板构建的集成工具。提供折线图、柱状图、饼图、热力图、地理地图等多种可视化类型,可直观把握数据趋势和模式。仪表板可组合多个可视化构成,构建实时更新的监控画面。Notebooks 功能可创建结合查询执行结果和 Markdown 说明的交互式报告,提高分析结果的共享和文档化效率。还可对存储在 S3 中的数据进行直接查询,实现包含未在 OpenSearch 中索引的数据的跨域分析。通过 SAML 认证和细粒度访问控制,可为每个团队设置不同的仪表板和数据访问权限。
OpenSearch 的费用
OpenSearch Service 的实例费用为 r6g.large.search 每小时约 0.167 美元(月费约 120 美元)。存储为 EBS gp3 每 GB 月费约 0.08 美元。OpenSearch Serverless 按 OCU(OpenSearch Compute Unit)小时计费,每 OCU 约 0.24 美元/小时。Serverless 最少需要 2 个 OCU(索引用 + 搜索用)常时运行,因此最低月费约 345 美元。小规模环境下预置集群更为经济。
总结
Amazon OpenSearch Service 作为集成全文搜索、日志分析和数据可视化的全托管平台,支持多种搜索与分析用例。kuromoji 分析器的日语全文搜索、BM25 评分、建议功能提供高质量的搜索体验。在日志分析方面,AWS 服务日志的直接摄取和 Anomaly Detection 的异常检测提高了运维监控效率。OpenSearch Dashboards 的可视化和实时监控支持数据驱动的决策。对于致力于构建数据搜索与分析基础设施的组织,OpenSearch Service 提供了全面的解决方案。