mcpField
E
elasticsearch

elasticsearch

github.com/partme-aiデータ・データベース71874 回インストール3 週間前に更新
リポジトリ

elasticsearch について

Elasticsearchのインデックス設計、検索、クラスター運用を支援するスキルです。検索システムの開発・管理向けに、Query DSL、REST APIでのドキュメント操作、クラスター保守を扱います。

主な機能

  1. 01マッピング、アナライザー、インデックス設定の設計
  2. 02Query DSLによる検索と集計の作成
  3. 03REST APIでのドキュメント登録、更新、一括読み込み
  4. 04シャード、レプリカ、スナップショットの管理
  5. 05クラスターの状態監視とチューニング

活用シーン

  1. 01商品インデックスの作成と検索
  2. 02REST APIによるドキュメントの一括読み込みや更新
  3. 03シャード配置とスナップショットバックアップの計画
  4. 04ElasticsearchとKibanaまたはLogstashのワークフロー連携

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/partme-ai/full-stack-skills --skill elasticsearch

インストール後、Claude Code で/elasticsearchを入力して読み込まれたか確認します。

同梱ファイルLICENSE.txt

詳細

このスキルを使用する場面

ユーザーが次のことを希望する場合は、このスキルを使用してください。

  • アナライザーとフィールドタイプを指定してインデックスマッピングを設計する
  • 検索クエリ(match、term、bool、multi_match、nested、集計)を作成する
  • REST API を使ってドキュメントをインデックス登録、更新、または一括読み込みする
  • クラスターを管理する(シャード、レプリカ、スナップショット、アップグレード)
  • Elasticsearch を Kibana または Logstash(ELK スタック)と連携する

このスキルの使用方法

ワークフロー
  1. マッピングを設計する - フィールドタイプ、アナライザー、インデックス設定を定義します
  2. ドキュメントをインデックス登録する - PUT/POST または一括 API を使用します
  3. クエリを作成する - キャッシュ用のフィルターを使って Query DSL を使用します
  4. 監視して調整する - クラスターのヘルス、スローログ、シャードのバランスを確認します
クイックスタート例:インデックスの作成と検索
// Create index with mapping
PUT /products
{
  "mappings": {
    "properties": {
      "name":        { "type": "text", "analyzer": "standard" },
      "description": { "type": "text" },
      "price":       { "type": "float" },
      "category":    { "type": "keyword" },
      "created_at":  { "type": "date" }
    }
  }
}

// Index a document
POST /products/_doc
{
  "name": "Wireless Mouse",
  "description": "Ergonomic wireless mouse with USB-C receiver",
  "price": 29.99,
  "category": "electronics",
  "created_at": "2025-01-15"
}

// Search with bool query and aggregation
GET /products/_search
{
  "query": {
    "bool": {
      "must": [{ "match": { "description": "wireless" } }],
      "filter": [{ "range": { "price": { "lte": 50 } } }]
    }
  },
  "aggs": {
    "by_category": { "terms": { "field": "category" } }
  }
}

ベストプラクティス

  1. 明示的なマッピングを定義する - 本番環境での動的マッピングは避け、エラーを検出できるように dynamic: strict を設定します
  2. 完全一致にはフィルターを使用する - フィルターはキャッシュされ、キーワードや範囲の条件ではクエリより高速です
  3. search_after でページネーションする - 深い from/size ページネーションは避け、大きな結果セットには search_after を使用します
  4. シャードを慎重に計画する - シャードあたり 20~40 GB を目標とし、小さなシャードが多くなりすぎないようにします
  5. 定期的にスナップショットを作成する - バックアップにはスナップショット/リストアを使用し、リストア手順をテストします

キーワード

elasticsearch, 検索, インデックス, マッピング, クエリ DSL, 集計, 搜索引擎, 全文检索, 聚合, ELK, Kibana, 一括 API, クラスター

コメント