使用带有 OpenSearch 的 Oracle Cloud Infrastructure Search 搜索数据和可视化数据

简介

Oracle Cloud Infrastructure (OCI) Search with OpenSearch 是作为 Oracle 管理的服务提供的洞察引擎。借助 OCI 的 OpenSearch 和 OpenSearch 仪表盘功能,您可以快速存储、搜索和分析大量数据,并近乎实时地查看结果。Oracle 在不停机的情况下自动执行各种活动,包括打补丁、更新、升级、备份和调整服务大小。

目标

先决条件

  1. 在 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>
    
  2. 创建具有公共子网和专用子网的 VCN。

    • 简化流程:

      1. 转到 OCI 控制台并打开导航菜单。

      2. 单击网络虚拟云网络

      3. 单击启动 VCN 向导创建具有 Internet 连接的 VCN

    • 定制进程:

      1. 转到 OCI 控制台并打开导航菜单。

      2. 单击网络虚拟云网络

      3. 单击创建 VCN 并输入您自己的所需详细信息。

  3. 在 VCN 的公共子网中创建虚拟机 (VM) 实例。

    1. 转到 OCI 控制台并打开导航菜单。

    2. 单击计算实例

    3. 单击创建实例

    4. 输入名称并选择区间。

    5. Image and shape(映像和配置)部分中,使用默认值 (Oracle Linux 8,VM.Standard.E4)。弹性 )。

    6. 网络部分中,选择公共子网并分配公共 IP。

    7. Add SSH keys(添加 SSH 密钥)部分中,决定是要使用现有 SSH 密钥还是生成新的 SSH 密钥。如果选择生成新的 SSH 密钥,请记住下载该密钥。

注:在本教程中,使用了 Mac 和 Oracle Linux 实例。Windows 命令行指令可能有所不同。

任务 1:创建 OCI 搜索服务集群

  1. 转到 OCI 控制台,导航到数据库OCI 搜索服务集群,然后单击创建集群。输入要在其中创建集群的集群名称和区间,然后单击下一步

    图像

  2. 选择集群大小,然后单击下一步

    图像

  3. 选择 VCN,在“先决条件”部分中创建的专用子网,然后单击下一步

    图像

    创建集群后,请在 OCI 搜索服务集群详细信息页面中记下 API 端点以及您也可以使用的 IP 地址。

    图像

任务 2:在 VCN 安全列表中创建安全规则

在 VCN 中,使用以下安全规则创建安全列表。或者,也可以将其添加到 VCN 默认安全列表中。

  1. Virtual Cloud Network Details(虚拟云网络详细信息)页面中,单击 Security Lists(安全列表)Security List(安全列表)Add Ingress Rules(添加进入规则)

    注:为端口 9200 (OpenSearch) 添加规则,为 5601(OpenSearch 仪表盘)添加规则。

    图像

    图像

    图像

任务 3:测试与 OCI 搜索服务的连接– OpenSearch 端点

可以使用以下选项之一。

选项 1:来自已创建的 VM 实例

  1. 使用 SSH 连接到实例。

    ssh -i ~/.ssh/id_rsa_opensearch.key opc@<your_VM_instance_public_IP>
    
  2. 运行以下命令之一。

    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:从本地计算机,通过端口转发

  1. 在终端中运行以下端口转发 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>
    
  2. 打开新的终端窗口,然后运行以下命令。

    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 实例中运行以下命令。

  1. 下载示例数据集。

    curl -O https://raw.githubusercontent.com/oracle-livelabs/oci/main/oci-opensearch/files/OCI_services.json
    
  2. 创建映射(可选)。如果未运行此命令或其任何变体,将自动创建默认映射。

    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"}
        }
      }
    }
    '
    
  3. 推送数据集。

    curl -H 'Content-Type: application/x-ndjson' -XPOST "https://<your_opensearch_private_IP>:9200/oci/_bulk?pretty" --data-binary @OCI_services.json
    
  4. 检查你的指数。

    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 仪表盘

  1. 从本地计算机,通过端口转发。

    注:如果已在前面的步骤中运行此步骤,并且连接仍处于打开状态,请跳过此步骤。

    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>
    
  2. 在浏览器中访问 https://localhost:5601

    注意:当前,根据浏览器的不同,会显示一条类似于您的连接不私密的警告消息。选择允许您继续执行的选项。

    图像

任务 7:在 OpenSearch 仪表盘中搜索数据和可视化数据

  1. 在建立端口转发连接后,在浏览器中访问 https://localhost:5601

  2. 打开 OpenSearch 仪表盘导航菜单。

  3. 导航到 Management(管理)Stack Management(堆栈管理),然后单击 Index Patterns(索引模式)。创建名为 oci 的索引模式。

    图像

  4. 转到 OpenSearch 仪表盘菜单,然后单击搜索以使用 OpenSearch 仪表盘 UI 搜索数据。

    图像

  5. 转到 OpenSearch“仪表盘”菜单,单击仪表盘,然后按照以下步骤创建示例饼图。

    1. 单击新建新建可视化饼图

      图像

    2. 选择 oci 作为

    3. 时段中,单击添加并展开拆分时段。输入以下图像中显示的信息,然后单击更新

      图像

确认

更多学习资源

浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心