OpenSearch 基于 Apache Lucene 构建,最初派生自另一款搜索与分析引擎 Elasticsearch,提供了可扩展的分布式架构,适用于实时搜索、可观测性、日志分析和安全分析等使用场景。
OpenSearch 包含 OpenSearch Dashboards,用于数据可视化和应用程序监控。它还拥有丰富的插件、应用程序编程接口 (API) 和客户端生态系统,支持现代数据环境中的分析工作流。
由于 OpenSearch 是以社区驱动的路线图进行开发的开源项目,组织可以在没有许可限制或供应商锁定的情况下使用它。它与早期版本的 Elasticsearch 兼容,再加上可扩展的插件框架,使得团队能够将 OpenSearch 作为灵活的分析引擎,用于运维工作负载、机器学习流水线和搜索应用。
通过 Think 时事通讯,了解有关 AI、自动化、数据等方面最重要且最有趣的行业趋势。请参阅 IBM 隐私声明。
公司可以完全了解 OpenSearch 的代码库和路线图,从而能够根据内部需求定制平台。
OpenSearch 保持与开源版 Elasticsearch 的 API 和查询语法兼容,使得组织无需大量重写即可采用或现代化其工作负载。
OpenSearch 能够大规模采集日志、指标和追踪数据,为故障排查和分析所用的运维仪表板提供支持。
借助内置的身份验证和访问控制,团队可以在安全工作负载中应用搜索能力。
作为开源软件,OpenSearch 可以部署在本地、各类云平台上,或通过托管服务提供。
OpenSearch 最初是社区对 Elasticsearch 和 Kibana(一个流行的可视化层)许可变更的回应。早期版本的 Elasticsearch 采用 Apache 2.0 许可证发布,但后续版本采用了服务器端公共许可证 (SSPL) 和 Elastic 许可证。这些许可证限制了开源软件的重复使用,给依赖可自由部署和再分发的搜索软件的组织带来了挑战。
为了维护开放的搜索生态系统,Amazon Web Services (AWS) 复刻了(即独立复制了)Elasticsearch 和 Kibana 的最后一个 Apache 2.0 版本,创建了 OpenSearch 项目。该项目在开放治理模式下引入了新特性和增强功能,并扩展了与 Elasticsearch API 和客户端库的兼容性,以简化迁移。
自那时起,OpenSearch 项目独立发展。它具有社区驱动的路线图、来自多个贡献者的贡献以及一个托管在 GitHub 上且不断增长的插件生态系统。虽然它仍然与许多 Elasticsearch 模式兼容,但 OpenSearch 已通过插件扩展了其功能集,支持向量搜索、异常检测和高级可观测性工具。
虽然这两个项目同源,但它们的发展路径已经分化。Elasticsearch 继续在 SSPL 和 Elastic License 下发展,采用专有功能开发策略。相比之下,OpenSearch 仍然采用 Apache 2.0 许可证,优先考虑开放性、可扩展性和运维可见性。因此,在两者之间进行选择的组织现在不仅评估功能,还评估治理模式、许可条款和长期生态系统方向。
兼容性仍然是这两个项目之间的重要桥梁:OpenSearch 仍然支持早期版本中的许多 Elasticsearch API、查询模式和客户端库,帮助团队以最少的重构进行迁移。它还保留了相似的存储库结构和索引格式,为从 Elasticsearch 迁移过来的用户保持熟悉感。
OpenSearch 构建在专为规模和实时性能设计的分布式架构之上。其核心组件包括集群、节点、 索引、分片和文档——所有这些组件共同协作,高效地存储和检索 数据。
节点是执行索引、查询和存储操作的服务器或容器化实例。常见的节点类型包括:
索引是一个逻辑命名空间,类似于关系数据库中的表。它包含定义 JSON 文档结构的映射以及对存储这些文档的分片的引用。“索引”一词也用作动词,描述用数据填充索引的行为。
文档是表示单个记录的 JSON 对象。简单来说,就是被存储和搜索的数据。当被索引时,每个文档中的字段会被分析、分词并存储在倒排索引中。
分片是 OpenSearch 中存储文档的基本存储单元。每个索引由主分片和可选的副本分片组成。
由于每个分片都是一个独立的 Lucene 实例(一个自包含的搜索引擎库),OpenSearch 将分片分布到各个节点上,以并行化搜索操作并扩展性能。
那么,这一切是如何协同工作的呢? 当文档被索引时,OpenSearch 会分析其内容,并应用文本分析器和分词器。处理之后,它将词条写入相应的分片。
索引操作由数据节点处理,并可跨集群分布以提高速度和可靠性。 查询随后被提交给协调节点,该节点确定包含相关数据的分片,将查询转发到这些分片,并聚合结果。
可以把它想象成一个设有不同工作站的餐厅厨房。索引就像准备食材并将其送到正确的工位,以便订单到来时一切就绪。当查询到达时,协调节点就像传菜员——报出所需菜品,汇集每个工位的出品,最后端上一份完整的菜肴。
OpenSearch 内置了搜索、分析和可观测性功能。插件和扩展增强了其功能,使团队能够针对专门的工作负载定制平台。
以下常用扩展可实现高级分析、机器学习 (ML) 和可观测性场景(未尽列):
偏好托管式体验的组织还可以使用 Amazon OpenSearch Service,该服务可在 AWS 上自动为 OpenSearch 集群进行扩缩容、备份、节点替换和运维管理。
OpenSearch Dashboards 是 OpenSearch 的可视化与分析界面。它提供了一个交互式环境,用于探索索引数据、构建可视化图表以及创建用于可观测性、安全分析和应用程序监控工作流的运维仪表板。例如,团队可以利用 Dashboards 近乎实时地可视化指标趋势并调查异常。
OpenSearch Dashboards 支持创建图表、表格、地图、笔记本和自定义面板。它还包含旨在简化分析的功能。笔记本允许用户将可视化图表和文本整合到一个完整的叙述中。运维面板则将使用管道处理语言创建的可观测性可视化图表组织到统一的展示界面中。
由于 OpenSearch Dashboards 与 Kibana 在用户界面 (UI) 上同源,许多数据团队会觉得其工作流程很熟悉。不过,它是按照自己的路线图开发的,并包含了反映 OpenSearch 更广泛功能集的能力。
OpenSearch 支持跨行业的多种用例,包括:
凭借对指标、日志和链路追踪的支持,OpenSearch 提供了一个集成的可观测性平台。链路追踪分析可视化服务交互,而应用分析则关联遥测数据以理解系统行为并定位延迟或故障点。Dashboards 和 PPL 查询使团队能够快速调查问题,并创建可复用的运维视图。
OpenSearch 的异常检测和 ML Commons 算法使组织能够在安全运维中应用搜索和分析技术。团队使用它来检测身份验证日志或应用程序行为中的异常模式,并在满足条件或达到阈值时触发通知。
OpenSearch Dashboards 提供交互式可视化、报表和笔记本,帮助团队探索数据、监控趋势、跟踪关键绩效指标并与利益相关者分享洞察。
借助由受治理且互联的数据驱动的、具备上下文感知能力的 AI 智能体,获取值得信赖的答案,无需重构平台,亦无锁定风险。
设计一项数据战略,消除数据孤岛,降低复杂性并提高数据质量,以实现卓越的客户和员工体验。
通过制定适当的战略、数据、安全和治理措施,成功实现 AI 的规模化应用。