執照
安全
Elasticsearch 是一種分散式搜尋和分析引擎、可擴展資料儲存和向量資料庫,針對生產規模工作負載的速度和相關性進行了最佳化。 Elasticsearch 是 Elastic 開放式堆疊平台的基礎。在海量資料集上近乎即時地搜尋、執行向量搜尋、與生成式 AI 應用程式整合等等。
Elasticsearch 支援的用例包括:
檢索增強生成 (RAG)
向量搜尋
全文檢索
紀錄
指標
應用程式效能監控(APM)
安全日誌
....以及更多!
要了解有關 Elasticsearch 特性和功能的更多信息,請參閱我們的產品頁面。
要存取有關機器學習創新和 Elastic 的最新 Lucene 貢獻的信息,可以在搜尋實驗室中找到更多資訊。
設定 Elasticsearch 最簡單的方法是使用 Elastic Cloud 上的 Elasticsearch 服務建立託管部署。
如果您希望自己安裝和管理 Elasticsearch,可以從 elastic.co/downloads/elasticsearch 下載最新版本。
警告 | 請勿將這些說明用於生產部署。 此設定僅用於本地開發和測試。 |
使用start-local
腳本在 Docker 中快速設定 Elasticsearch 和 Kibana 以進行本機開發或測試。
ℹ️ 有關start-local
設定的更多詳細信息,請參閱 GitHub 上的 README。
如果您尚未安裝 Docker,請下載並安裝適用於您的作業系統的 Docker Desktop。
如果您使用的是 Microsoft Windows,請安裝 Windows Subsystem for Linux (WSL)。
此設定附帶一個月的試用許可證,其中包括所有 Elastic 功能。
試用期結束後,許可證將恢復為免費和開放 - 基本許可證。有關更多信息,請參閱彈性訂閱。
start-local
要在本地設定 Elasticsearch 和 Kibana,請執行start-local
腳本:
捲曲-fsSL https://elastic.co/start-local |噓
此腳本建立一個包含設定檔的elastic-start-local
資料夾,並使用 Docker 啟動 Elasticsearch 和 Kibana。
運行腳本後,您可以在以下端點存取Elastic服務:
彈性搜尋:http://localhost:9200
基巴納:http://localhost:5601
該腳本為elastic
使用者產生一個隨機密碼,該密碼在安裝結束時顯示並儲存在.env
檔案中。
警告 | 此設定僅用於本地測試。 HTTPS 已停用,Elasticsearch 使用基本驗證。為了安全起見,Elasticsearch 和 Kibana 只能透過 |
產生 Elasticsearch 的 API 金鑰並將其作為ES_LOCAL_API_KEY
儲存在.env
檔案中。使用此金鑰透過程式語言用戶端或 REST API 連接到 Elasticsearch。
從elastic-start-local
資料夾中,使用curl
檢查與Elasticsearch的連接:
source .env curl $ES_LOCAL_URL -H "授權:ApiKey ${ES_LOCAL_API_KEY} "
您透過 REST API 向 Elasticsearch 發送資料和其他請求。您可以使用任何傳送 HTTP 請求的用戶端(例如 Elasticsearch 語言用戶端和curl)與 Elasticsearch 互動。
以下是使用基本驗證建立新 Elasticsearch 索引的範例 curl 指令:
curl -u elastic: $ELASTIC_PASSWORD -X PUT http://localhost:9200/my-new-index -H '內容類型:application/json '
若要使用語言用戶端連線到本機開發 Elasticsearch 集群,您可以使用elastic
使用者名稱和在環境變數中設定的密碼進行基本驗證。
您將使用以下連接詳細資訊:
Elasticsearch 端點: http://localhost:9200
使用者名稱: elastic
密碼: $ELASTIC_PASSWORD
(您在環境變數中設定的值)
例如,要連接Python elasticsearch
客戶端:
import os from elasticsearch import Elasticsearch使用者名稱= 'elastic'密碼= os . getenv ( 'ELASTIC_PASSWORD' ) # 你在環境變數中設定的值client = Elasticsearch ( "http://localhost:9200" , basic_auth = ( username , password ) ) print ( client . info ())
Kibana 的開發者控制台提供了一種簡單的方法來實驗和測試請求。若要存取控制台,請開啟 Kibana,然後前往Management > Dev Tools 。
新增數據
您可以透過 REST API 傳送 JSON 物件(文件),將資料索引到 Elasticsearch 中。無論您有結構化或非結構化文字、數位資料或地理空間數據,Elasticsearch 都會以支援快速搜尋的方式對其進行有效儲存和索引。
對於帶有時間戳記的資料(例如日誌和指標),您通常會將文件新增至由多個自動產生的支援索引組成的資料流。
若要將單一文件新增至索引,請提交針對該索引的 HTTP post 請求。
POST /customer/_doc/1 { "firstname": "Jennifer", "lastname": "Walters" }
如果customer
索引不存在,此請求將自動建立該索引,新增 ID 為 1 的新文檔,並儲存firstname
和lastname
欄位並為其建立索引。
新文件可立即從叢集中的任何節點取得。您可以使用指定其文檔 ID 的 GET 請求來檢索它:
取得/客戶/_doc/1
若要在一個請求中新增多個文檔,請使用_bulk
API。批次資料必須是換行符號分隔的 JSON (NDJSON)。每行必須以換行符 ( n
) 結尾,包括最後一行。
PUT customer/_bulk { "create": { } } { "firstname": "Monica","lastname":"Rambeau"} { "create": { } } { "firstname": "Carol","lastname": “丹佛斯”} { “創建”:{ } } { “名字”:“旺達”,“姓氏”:“馬克西莫夫”} { “創建”:{ } } { “名字”:“詹妮弗”,“姓氏”: “武田”}
搜尋
索引文件可近乎即時地搜尋。以下搜尋與customer
索引中名字為Jennifer的所有客戶相符。
GET customer/_search { "query" : { "match" : { "firstname": "Jennifer" } } }
探索
您可以使用 Kibana 中的 Discover 以互動方式搜尋和過濾資料。從那裡,您可以開始建立視覺化以及建置和共用儀表板。
首先,建立一個連接到一個或多個 Elasticsearch 索引、資料流或索引別名的資料視圖。
前往管理 > 堆疊管理 > Kibana > 資料視圖。
選擇建立資料視圖。
輸入資料視圖的名稱以及與一個或多個索引相符的模式,例如customer 。
選擇將資料視圖儲存到 Kibana 。
要開始探索,請前往分析 > 發現。
若要從早期版本的 Elasticsearch 升級,請參閱 Elasticsearch 升級文件。
Elasticsearch 使用 Gradle 作為其建置系統。
若要為本機作業系統建立發行版並在完成後列印其輸出位置,請執行:
./gradlew localDistro
若要為另一個平台建立發行版,請執行相關指令:
./gradlew :distribution:archives:linux-tar:assemble ./gradlew :distribution:archives:darwin-tar:assemble ./gradlew :distribution:archives:windows-zip:assemble
若要為所有支援的平台建立發行版,請運行:
./gradlew 彙編
分發版輸出到distribution/archives
。
若要執行測試套件,請參閱測試。
如需完整的 Elasticsearch 文檔,請造訪 elastic.co。
有關我們的文件流程的信息,請參閱文件自述文件。
elasticsearch-labs
儲存庫包含可執行的 Python 筆記本、範例應用程式和資源,用於測試 Elasticsearch 的向量搜尋、混合搜尋和產生 AI 用例。
有關貢獻指南,請參閱貢獻。
若要回報錯誤或請求功能,請建立 GitHub 問題。請確保其他人沒有為相同主題創建問題。
需要使用 Elasticsearch 方面的協助嗎?造訪 Elastic Forum 或 Slack。社群成員或 Elastic 工程師將很樂意為您提供協助。