適用於 Mac 的 Elasticsearch 用戶端
提供 Query DSL 請求主控台,以及將索引讀取為資料表、依 _id 編輯文件的格線。兩者都不執行 SQL:所有操作都是送往叢集的 REST 請求。
適用於 Mac首次選擇 Elasticsearch 時下載驅動程式
概覽
- 查詢語言
- Query DSL
- 驅動程式
- 首次使用時下載
- 連線方式
- 主機與連接埠, SSL/TLS
- 預設連接埠
- 9200
- 最低版本
- 7.x,文件所述
- iPhone 與 iPad
- 無法開啟
連線
輸入叢集主機和 REST 連接埠,選擇 Auth Method。Username & Password 傳送 HTTP Basic,API Key 透過 Authorization: ApiKey 標頭傳送欄位,請貼上建立 API 金鑰請求傳回的 encoded 值。None 適合關閉安全性的開發叢集。連線對應一個叢集,所以表單無 Database 欄位。
新連線預設 SSL Disabled,即明文 HTTP。其他模式用 HTTPS:Preferred、Required (skip verify) 接受自我簽署憑證,Verify CA、Verify Identity 驗證憑證。Elasticsearch 8.x 預設開啟安全性和 TLS,因此通常需要 HTTPS 和認證資訊。
索引與 Query DSL 主控台
主控台像 Kibana Dev Tools 一樣接受方法、路徑及選用 JSON 本文,例如帶 match 查詢的 GET /orders/_search。搜尋命中傳回為列,帶 format=json 的 _cat 請求及其他陣列回應轉為資料表,其餘顯示格式化 JSON。無法存取 _sql 端點。
側欄將索引列為資料表,隱藏點號開頭的名稱。欄位來自對應:物件欄位展開為 address.city 等點分路徑,nested 欄位有一個存放陣列的 JSON 欄及每個葉欄位的欄,每個文件含 _id、_index、_score。
欄位篩選轉換為 term、range、wildcard、terms、exists 查詢,Raw SQL 篩選列接受 name:Widget 等 Lucene 語法,以 query_string 傳送。排序 text 欄位時,對應存在 .keyword 子欄位則使用它。
格線編輯轉換為以 _id 為鍵的 REST 呼叫:修改用 _update,建立刪除用 _doc。新列輸入 _id 為文件命名。透過 JSON 欄修改 nested 陣列;在葉欄輸入值會停止儲存,指出欄名且不傳送任何內容。
對應
TablePro 中對應唯讀。不提供 Truncate,因為 Elasticsearch 最接近的 _delete_by_query 非同步執行並逐文件報告衝突,請從主控台傳送。從側欄刪除索引傳送確認中顯示的 DELETE 請求。
匯出
不提供匯入。匯出使用時間點和 search_after 讀取整個索引,不受結果視窗限制,寫入 CSV、JSON 或 XLSX。
iPhone 與 iPad
iPhone 與 iPad App 沒有 Elasticsearch 驅動程式。從 Mac 同步的 Elasticsearch 連線會顯示在清單中,但無法開啟。
限制
- 不支援 OpenSearch。
- 側邊欄不列出別名和資料串流。請在主控台透過名稱存取。
- 不支援 SSH 通道。
關於 Elasticsearch 的問題
可以翻頁超過結果視窗嗎?
可以。超過 Elasticsearch 預設視窗時切換為時間點上的 search_after。切換發生在預設值,因此降低 max_result_window 的索引會提前報錯;請調回預設值。
為什麼依 _id 排序後列順序不變?
Elasticsearch 無法依 _id 或無 .keyword 子欄位的 text 欄位排序,TablePro 會移除該排序欄。請給對應新增 keyword 子欄位,或依 keyword 欄位排序。
取得 TablePro
需要 macOS 13 Ventura 或更新版本