使用带有 OpenSearch 的 Oracle Cloud Infrastructure Search 搜索数据和可视化数据
简介
Oracle Cloud Infrastructure (OCI) Search with OpenSearch 是作为 Oracle 管理的服务提供的洞察引擎。借助 OCI 的 OpenSearch 和 OpenSearch 仪表盘功能,您可以快速存储、搜索和分析大量数据,并近乎实时地查看结果。Oracle 在不停机的情况下自动执行各种活动,包括打补丁、更新、升级、备份和调整服务大小。
目标
-
了解创建搜索集群的先决条件。
-
创建 OpenSearch 集群,连接到集群并摄取数据。
-
运行示例搜索命令。
-
可视化 OpenSearch 仪表盘中的数据。
先决条件
-
在 OCI 控制台中创建所需的服务策略。将
any-user
更改为您所需的组,并在需要时提供区间的路径。工作政策:
Allow group SearchOpenSearchAdmins to manage vnics in compartment <NETWORK_RESOURCES_COMPARTMENT> Allow group SearchOpenSearchAdmins to manage vcns in compartment <NETWORK_RESOURCES_COMPARTMENT> Allow group SearchOpenSearchAdmins to manage subnets in compartment <NETWORK_RESOURCES_COMPARTMENT> Allow group SearchOpenSearchAdmins to use network-security-groups in compartment <NETWORK_RESOURCES_COMPARTMENT> Allow group SearchOpenSearchAdmins to manage opensearch-family in compartment <CLUSTER_RESOURCES_COMPARTMENT>
-
创建具有公共子网和专用子网的 VCN。
-
简化流程:
-
转到 OCI 控制台并打开导航菜单。
-
单击网络和虚拟云网络。
-
单击启动 VCN 向导和创建具有 Internet 连接的 VCN 。
-
-
定制进程:
-
转到 OCI 控制台并打开导航菜单。
-
单击网络和虚拟云网络。
-
单击创建 VCN 并输入您自己的所需详细信息。
-
-
-
在 VCN 的公共子网中创建虚拟机 (VM) 实例。
-
转到 OCI 控制台并打开导航菜单。
-
单击计算和实例。
-
单击创建实例。
-
输入名称并选择区间。
-
在 Image and shape(映像和配置)部分中,使用默认值 (Oracle Linux 8,VM.Standard.E4)。弹性 )。
-
在网络部分中,选择公共子网并分配公共 IP。
-
在 Add SSH keys(添加 SSH 密钥)部分中,决定是要使用现有 SSH 密钥还是生成新的 SSH 密钥。如果选择生成新的 SSH 密钥,请记住下载该密钥。
-
注:在本教程中,使用了 Mac 和 Oracle Linux 实例。Windows 命令行指令可能有所不同。
任务 1:创建 OCI 搜索服务集群
-
转到 OCI 控制台,导航到数据库、 OCI 搜索服务、集群,然后单击创建集群。输入要在其中创建集群的集群名称和区间,然后单击下一步。
-
选择集群大小,然后单击下一步。
-
选择 VCN,在“先决条件”部分中创建的专用子网,然后单击下一步。
创建集群后,请在 OCI 搜索服务集群详细信息页面中记下 API 端点以及您也可以使用的 IP 地址。
任务 2:在 VCN 安全列表中创建安全规则
在 VCN 中,使用以下安全规则创建安全列表。或者,也可以将其添加到 VCN 默认安全列表中。
-
在 Virtual Cloud Network Details(虚拟云网络详细信息)页面中,单击 Security Lists(安全列表)、 Security List(安全列表)和 Add Ingress Rules(添加进入规则)。
注:为端口
9200
(OpenSearch) 添加规则,为5601
(OpenSearch 仪表盘)添加规则。
任务 3:测试与 OCI 搜索服务的连接– OpenSearch 端点
可以使用以下选项之一。
选项 1:来自已创建的 VM 实例
-
使用 SSH 连接到实例。
ssh -i ~/.ssh/id_rsa_opensearch.key opc@<your_VM_instance_public_IP>
-
运行以下命令之一。
curl https://mycluster.opensearch.us.example.com:9200 # OpenSearch API endpoint example
或者
curl https://<your_opensearch_private_IP>:9200 --insecure # OpenSearch private IP example
选项 2:从本地计算机,通过端口转发
-
在终端中运行以下端口转发 SSH 命令。请勿关闭终端以确保连接保持活动状态。
ssh -C -v -t -L 127.0.0.1:5601:<your_opensearch_dashboards_private_IP>:5601 -L 127.0.0.1:9200:<your_opensearch_private_IP>:9200 opc@<your_VM_instance_public_IP> -i <path_to_your_private_key>
-
打开新的终端窗口,然后运行以下命令。
curl https://localhost:9200 --insecure
如果步骤执行正确,则无论使用的选项如何,您都应看到如下响应。
{
"name" : "opensearch-master-0",
"cluster_name" : "opensearch",
"cluster_uuid" : "M6gclrE3QLGEBlkdme8JkQ",
"version" : {
"distribution" : "opensearch",
"number" : "1.2.4-SNAPSHOT",
"build_type" : "tar",
"build_hash" : "e505b10357c03ae8d26d675172402f2f2144ef0f",
"build_date" : "2022-02-08T16:44:39.596468Z",
"build_snapshot" : true,
"lucene_version" : "8.10.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}
任务 4:摄取数据
从 VM 实例中运行以下命令。
-
下载示例数据集。
curl -O https://raw.githubusercontent.com/oracle-livelabs/oci/main/oci-opensearch/files/OCI_services.json
-
创建映射(可选)。如果未运行此命令或其任何变体,将自动创建默认映射。
curl -XPUT "https://mycluster.opensearch.us.example.com:9200/oci" -H 'Content-Type: application/json' -d' { "mappings": { "properties": { "id": {"type": "integer"}, "category": {"type": "keyword"}, "text": {"type": "text"}, "title": {"type": "text"}, "url": {"type": "text"} } } } '
-
推送数据集。
curl -H 'Content-Type: application/x-ndjson' -XPOST "https://<your_opensearch_private_IP>:9200/oci/_bulk?pretty" --data-binary @OCI_services.json
-
检查你的指数。
curl "https://mycluster.opensearch.us.example.com:9200/_cat/indices" # OpenSearch API endpoint example
curl -X GET "https://<your_opensearch_private_IP>:9200/_cat/indices" --insecure # OpenSearch private IP example
任务 5:查询 OCI Search Service –示例搜索查询
可以使用以下选项之一。
选项 1:从 VM 实例 Shell
curl -X GET "https://mycluster.opensearch.us.example.com:9200/oci/_search?q=title:Kubernetes&pretty"
# OpenSearch API endpoint example
curl -X GET "https://<your_opensearch_private_IP>:9200/oci/_search?q=title:Kubernetes&pretty"
# OpenSearch private IP example
选项 2:在端口转发后从本地终端
curl -X GET "https://localhost:9200/oci/_search?q=title:Kubernetes&pretty" --insecure
选项 3:在本地浏览器中,端口转发后
https://localhost:9200/oci/_search?q=title:Kubernetes&pretty
有关查询语法的详细信息,请参阅 OpenSearch 或 Elasticsearch 教程。
任务 6:连接到 OpenSearch 仪表盘
-
从本地计算机,通过端口转发。
注:如果已在前面的步骤中运行此步骤,并且连接仍处于打开状态,请跳过此步骤。
ssh -C -v -t -L 127.0.0.1:5601:<your_opensearch_dashboards_private_IP>:5601 -L 127.0.0.1:9200:<your_opensearch_private_IP>:9200 opc@<your_instance_public_ip> -i <path_to_your_private_key>
-
在浏览器中访问
https://localhost:5601
。注意:当前,根据浏览器的不同,会显示一条类似于您的连接不私密的警告消息。选择允许您继续执行的选项。
任务 7:在 OpenSearch 仪表盘中搜索数据和可视化数据
-
在建立端口转发连接后,在浏览器中访问
https://localhost:5601
。 -
打开 OpenSearch 仪表盘导航菜单。
-
导航到 Management(管理)、 Stack Management(堆栈管理),然后单击 Index Patterns(索引模式)。创建名为
oci
的索引模式。 -
转到 OpenSearch 仪表盘菜单,然后单击搜索以使用 OpenSearch 仪表盘 UI 搜索数据。
-
转到 OpenSearch“仪表盘”菜单,单击仪表盘,然后按照以下步骤创建示例饼图。
-
单击新建、新建可视化和饼图。
-
选择
oci
作为源。 -
在时段中,单击添加并展开拆分时段。输入以下图像中显示的信息,然后单击更新。
-
相关链接
确认
-
作者 — Nuno Goncalves(高级首席产品经理)
-
贡献者 - Jordan Oliver(首席产品经理)
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Search and Visualize Data using Oracle Cloud Infrastructure Search with OpenSearch
F70909-03
October 2024