OpenSearch 是亚马逊的开源搜索引擎和分析套件。 个人、企业和组织可以使用该服务搜索范围广泛的信息,并使用可视化工具更好地了解用户行为和搜索趋势。 本文将讨论如何使用 OpenSearch Fedora Linux。
先决条件
OpenSearch 能做什么?
OpenSearch 提供多种功能和工具。 这些都是:
- 监控和调试集群的应用程序。
- 管理安全和事件信息。
- 实现无缝、个性化的搜索结果。
- 用于搜索和浏览搜索结果的基于 Web 的用户界面。
- 在文档或网页中搜索特定术语或短语的能力。
- 按日期、相关性或其他条件过滤搜索结果的能力。
- 创建和保存搜索供以后使用的能力。
- 自定义搜索结果页面的外观和功能的能力。
- 高级分析和报告工具可帮助用户了解和分析搜索流量和用户行为。
以下部分将指导您完成创建域、上传测试数据和使用 OpenSearch 仪表板可视化信息的基础知识。
什么是 OpenSearch 服务域?
OpenSearch 服务域是 AWS 提供的一项服务,允许您使用 AWS 控制台或 AWS 命令行界面 (CLI) 创建、管理和配置您的集群。 本教程将使用 AWS 控制台创建和配置您的域。
入门
要开始域设置,请启动您的首选浏览器并登录到您的 AWS 控制台。 导航到 Amazon OpenSearch Service 页面,然后单击创建域。
选择您的域名并取消选中启用自定义端点框。
OpenSearch 是 Elasticsearch 7.10 版的一个分支。 除了 OpenSearch 版本之外,您还可以选择 Elasticsearch 版本 7.10 的任何版本。
为您的部署类型、最新的 OpenSearch 版本选择开发和测试,并启用兼容性。

启用自动调谐并取消标记添加维护窗口。

数据节点选项允许您根据应用程序的需要自定义节点:
- 可用区 (AZ)
- Amazon Web Services (AWS) 可用区是 AWS 区域内物理上独立且隔离的数据中心位置。 每个可用区都设计为具有容错能力,具有冗余电源、网络和冷却基础设施。
- 实例类型:
- 指的是您希望用于您的应用程序的虚拟服务器类型。
- 节点数:
- 您要分配给每个可用区的节点数。
由于我们在小型开发环境中运行,请将 AZ 设置为 2,将实例类型设置为 t3.small.search,将节点数设置为 2。不要更改存储类型、EBS 卷类型的默认设置,每个节点的 EBS 存储大小。

现在忽略这些选项,但继续阅读以获取更多信息:
- 冷热数据存储:
- 适用于需要经济高效的解决方案来存储大量非可变数据的用例。
- 专用主节点
- 允许您选择要为您的域使用多少个主节点。
- 快照配置:
- 默认设置为每小时。

生产环境建议使用 VPC 访问。 您还需要创建主用户登录才能访问 OpenSearch 的数据可视化工具 OpenSearch Dashboards。 我们将在您配置域后讨论如何使用 OpenSearch 仪表板。
选择公共访问和创建主用户,并设置您的登录名。

保留准备 SAML 身份验证和启用 Amazon Cognito 身份验证选项框未选中,并选择仅对您的访问策略使用细粒度访问控制。


选择使用 AWS 拥有的密钥,忽略可选配置,单击创建创建您的域,然后等待您的域激活。
使用 OpenSearch 仪表板
OpenSearch Dashboards 是一种工具,可让您创建和自定义交互式仪表板,以可视化您的站点从用户交互中接收的数据。 这些仪表板是来自各种来源(例如日志、指标和安全事件)的数据的可视化表示,可以对其进行自定义以满足您的特定需求,包括:
- 将不同类型的可视化效果(例如图形、地图和表格)拖放到仪表板上。
- 过滤和处理数据以突出显示特定趋势或模式。
- 与其他用户共享仪表板或将它们嵌入到其他应用程序中。
- 在同一仪表板上与其他用户实时协作。
导航到域并从列表中选择它。

单击 OpenSearch 仪表板 URL 以访问您的 OpenSearch 仪表板。

登录仪表板后,您将看到以下屏幕之一:


可视化选项
单击添加示例数据以添加 AWS 提供的示例数据。

您可以选择三个选项中的任何一个。 此处将使用示例 Web 日志选项来查看可用于分析数据的可视化选项类型的示例。






单击新建以添加更多可视化选项:

分析自己的数据来分析
您可以通过 CLI 输入命令来上传一份或多份文档。
添加单个文档
curl -XPUT -u 'master-user:[master-user-password]' 'domain-endpoint/[domain name]/_doc/1' -d '{"field1": "string1", "field2": ["string3","string4"]}' -H 'Content-Type: application/json'
添加多个文档
使用您的文档创建一个 JSON 文件并运行一个命令来添加多个文档:
JSON文件格式:
{ "index" : { "_index": "indexname", "_id" : "2" } } {"field1": "string1", "field2": ["string2", "string3", "string4"], "field3": 1234, "field4": ["String, 5", "String, 6"]} { "index" : { "_index": "indexname", "_id" : "3" } } {"field5": "string7", "field6": ["string8", "string9", "string10"], "field7": 5678, "field8": ["String, 11", "String, 12"]} { "index" : { "_index": "indexname", "_id" : "4" } } {"field9": "string13", "field10": ["string14", "string15", "string16"], "field11": 1011, "field12": ["String, 17", "String, 18"]}
JSON文件命名限制:
- 所有字母必须小写。
- 索引名称不能以 _ 或 – 开头。
- 索引名称不能包含空格、逗号、:、”、*、+、/、、| , ? 、#、> 或 <。
运行命令:
curl -XPOST -u 'master-user:[master-user-password]' 'domain-endpoint/_bulk' --data-binary @bulk_[domain name].json -H 'Content-Type: application/json'
您现在可以创建和配置自己的域,并使用 OpenSearch Dashboards 可视化您的域接收的数据。