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 で文書を命名できます。nested 配列は JSON カラムで変更してください。リーフカラムの入力は保存を止め、カラム名を示し、何も送信しません。
マッピング
TablePro のマッピングは読み取り専用です。Elasticsearch の類似操作 _delete_by_query は非同期で文書ごとに競合を報告するため Truncate はなく、コンソールから送信してください。サイドバーのインデックス削除は確認に表示した DELETE リクエストを送ります。
エクスポート
インポートはありません。エクスポート は point-in-time と search_after でインデックス全体を読み、結果ウィンドウで制限せず CSV、JSON または XLSX に書き込みます。
iPhone と iPad
iPhone と iPad アプリには Elasticsearch ドライバーがありません。Mac から同期した Elasticsearch 接続は一覧に表示しますが、開けません。
制限
- OpenSearch は非対応です。
- エイリアスとデータストリームはサイドバーに表示しません。コンソールで名前を指定してください。
- SSH トンネルは非対応です。
Elasticsearch に関する質問
結果ウィンドウを超えてページを送れますか?
はい。Elasticsearch の既定ウィンドウを超えると point-in-time の search_after に切り替えます。切り替えは既定値で行うため、max_result_window を下げたインデックスはその前にエラーになります。設定を既定値に戻してください。
_id で並べ替えても行の順序が同じなのはなぜですか?
Elasticsearch は _id や .keyword サブフィールドのない text フィールドで並べ替えできないため、そのカラムをソートから外します。マッピングに keyword サブフィールドを追加するか、keyword フィールドで並べ替えてください。
TablePro を入手
macOS 13 Ventura 以降 が必要です