使用 Oracle Cloud Infrastructure Search 搭配 OpenSearch 搜尋及視覺化資料

簡介

搭配 OpenSearch 的 Oracle Cloud Infrastructure (OCI) Search 是以 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 精靈使用網際網路連線建立 VCN

    • 自訂處理作業:

      1. 移至 OCI 主控台並開啟導覽功能表。

      2. 按一下網路虛擬雲端網路

      3. 按一下建立 VCN ,然後輸入想要的詳細資訊。

  3. 在 VCN 的公用子網路中建立虛擬機器 (VM) 執行處理。

    1. 移至 OCI 主控台並開啟導覽功能表。

    2. 按一下「Compute」「Instances」

    3. 按一下建立執行處理

    4. 輸入名稱並選取區間。

    5. 影像和資源配置段落中,使用預設值 (Oracle Linux 8,VM.Standard.E4)。彈性)。

    6. 網路區段中,選取公用子網路並指派公用 IP。

    7. 在 [ 新增 SSH 金鑰 ] 區段中,決定是否要使用現有的 SSH 金鑰或產生新的 SSH 金鑰。如果您選取要產生新的 SSH 金鑰,請記得下載金鑰。

注意:在本教學課程中,已使用 Mac 和 Oracle Linux 執行處理。Windows 命令行指示可能不同。

作業 1:建立 OCI 搜尋服務叢集

  1. 移至 OCI 主控台,瀏覽至資料庫OCI 搜尋服務叢集,然後按一下建立叢集。輸入要在其中建立叢集的叢集名稱和區間,然後按一下下一步

    圖像

  2. 選取叢集大小,然後按一下下一步

    圖像

  3. 選取「先決條件」區段中建立的 VCN 專用子網路,然後按一下下一步

    圖像

    建立叢集之後,請在 OCI Search 服務叢集詳細資訊頁面中記下 API 端點和您可以替代使用的 IP 位址。

    圖像

作業 2:在 VCN 安全清單中建立安全規則

在 VCN 中,使用下列安全規則建立安全清單。或者,它們可以新增至 VCN 預設安全清單。

  1. 虛擬雲端網路詳細資訊頁面中,按一下安全清單安全清單以及新增傳入規則

    注意:新增連接埠 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 搜尋服務 – 範例搜尋查詢

您可以使用下列其中一個選項。

選項 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. 瀏覽至管理堆疊管理,然後按一下索引樣式。建立名稱為 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 Help Center