使用 Oracle Cloud Infrastructure Search 搭配 OpenSearch 搜尋及視覺化資料
簡介
搭配 OpenSearch 的 Oracle Cloud Infrastructure (OCI) Search 是以 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 精靈並使用網際網路連線建立 VCN 。
-
-
自訂處理作業:
-
移至 OCI 主控台並開啟導覽功能表。
-
按一下網路和虛擬雲端網路。
-
按一下建立 VCN ,然後輸入想要的詳細資訊。
-
-
-
在 VCN 的公用子網路中建立虛擬機器 (VM) 執行處理。
-
移至 OCI 主控台並開啟導覽功能表。
-
按一下「Compute」和「Instances」。
-
按一下建立執行處理。
-
輸入名稱並選取區間。
-
在影像和資源配置段落中,使用預設值 (Oracle Linux 8,VM.Standard.E4)。彈性)。
-
在網路區段中,選取公用子網路並指派公用 IP。
-
在 [ 新增 SSH 金鑰 ] 區段中,決定是否要使用現有的 SSH 金鑰或產生新的 SSH 金鑰。如果您選取要產生新的 SSH 金鑰,請記得下載金鑰。
-
注意:在本教學課程中,已使用 Mac 和 Oracle Linux 執行處理。Windows 命令行指示可能不同。
作業 1:建立 OCI 搜尋服務叢集
-
移至 OCI 主控台,瀏覽至資料庫、 OCI 搜尋服務、叢集,然後按一下建立叢集。輸入要在其中建立叢集的叢集名稱和區間,然後按一下下一步。
-
選取叢集大小,然後按一下下一步。
-
選取「先決條件」區段中建立的 VCN 專用子網路,然後按一下下一步。
建立叢集之後,請在 OCI Search 服務叢集詳細資訊頁面中記下 API 端點和您可以替代使用的 IP 位址。
作業 2:在 VCN 安全清單中建立安全規則
在 VCN 中,使用下列安全規則建立安全清單。或者,它們可以新增至 VCN 預設安全清單。
-
在虛擬雲端網路詳細資訊頁面中,按一下安全清單、安全清單以及新增傳入規則。
注意:新增連接埠
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 搜尋服務 – 範例搜尋查詢
您可以使用下列其中一個選項。
選項 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 儀表板導覽功能表。
-
瀏覽至管理、堆疊管理,然後按一下索引樣式。建立名稱為
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 Help Center 。
Search and Visualize Data using Oracle Cloud Infrastructure Search with OpenSearch
F70910-03
October 2024