ライセンス
安全
Elasticsearch は、分散検索および分析エンジン、スケーラブルなデータ ストア、および実稼働規模のワークロードでの速度と関連性を最適化したベクトル データベースです。 Elasticsearch は、Elastic のオープン スタック プラットフォームの基盤です。大規模なデータセットに対するほぼリアルタイムの検索、ベクトル検索の実行、生成 AI アプリケーションとの統合などを行います。
Elasticsearch によって可能になるユースケースには次のようなものがあります。
検索拡張生成 (RAG)
ベクトル検索
全文検索
ログ
メトリクス
アプリケーションパフォーマンス監視 (APM)
セキュリティログ
...そしてさらに!
Elasticsearch の機能の詳細については、製品ページをご覧ください。
機械学習のイノベーションと Elastic からの最新の Lucene への貢献に関する情報にアクセスするには、Search Labs で詳細情報を見つけることができます。
Elasticsearch をセットアップする最も簡単な方法は、Elastic Cloud 上で Elasticsearch Service を使用してマネージド デプロイメントを作成することです。
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 機能を含む 1 か月の試用ライセンスが付属しています。
試用期間が終了すると、ライセンスは[無料] および [オープン - 基本]に戻ります。詳細については、「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 には Basic 認証が使用されます。セキュリティのため、Elasticsearch と Kibana には |
Elasticsearch の API キーが生成され、 ES_LOCAL_API_KEY
として.env
ファイルに保存されます。このキーを使用して、プログラミング言語クライアントまたは REST API を使用して Elasticsearch に接続します。
elastic-start-local
フォルダーから、 curl
使用して Elasticsearch への接続を確認します。
ソース.envcurl $ES_LOCAL_URL -H "認証: ApiKey ${ES_LOCAL_API_KEY} "
REST API を介してデータやその他のリクエストを Elasticsearch に送信します。 Elasticsearch 言語クライアントやカールなど、HTTP リクエストを送信する任意のクライアントを使用して Elasticsearch と対話できます。
基本認証を使用して新しい Elasticsearch インデックスを作成するカール コマンドの例を次に示します。
カール -u elastic: $ELASTIC_PASSWORD -X PUT http://localhost:9200/my-new-index -H ' Content-Type: application/json '
言語クライアントを使用してローカル開発 Elasticsearch クラスターに接続するには、環境変数に設定したelastic
ユーザー名とパスワードによる基本認証を使用できます。
次の接続の詳細を使用します。
Elasticsearch エンドポイント: http://localhost:9200
ユーザー名: elastic
パスワード: $ELASTIC_PASSWORD
(環境変数に設定した値)
たとえば、Python elasticsearch
クライアントに接続するには:
elasticsearchからos をインポートimport Elasticsearchユーザー名= 'elastic'パスワード= os 。 getenv ( 'ELASTIC_PASSWORD' ) # 環境変数に設定した値client = Elasticsearch ( "http://localhost:9200" , Basic_auth = ( username , password ) ) print ( client . info ())
Kibana の開発者コンソールは、リクエストを実験およびテストする簡単な方法を提供します。コンソールにアクセスするには、Kibana を開き、 [管理] > [開発ツール]に移動します。
データの追加
REST API を通じて JSON オブジェクト (ドキュメント) を送信することにより、Elasticsearch にデータのインデックスを作成します。構造化テキスト、非構造化テキスト、数値データ、地理空間データのいずれであっても、Elasticsearch は高速検索をサポートする方法でそれらを効率的に保存し、インデックスを作成します。
ログやメトリクスなどのタイムスタンプ付きデータの場合は、通常、複数の自動生成されたバッキング インデックスで構成されるデータ ストリームにドキュメントを追加します。
単一のドキュメントをインデックスに追加するには、インデックスをターゲットとする HTTP POST リクエストを送信します。
POST /customer/_doc/1 { "名": "ジェニファー", "姓": "ウォルターズ" }
このリクエストは、 customer
インデックスが存在しない場合は自動的に作成し、ID が 1 の新しいドキュメントを追加し、 firstname
とlastname
フィールドを保存してインデックスを作成します。
新しいドキュメントは、クラスター内のどのノードからでもすぐに使用できます。ドキュメント ID を指定する GET リクエストを使用して取得できます。
GET /customer/_doc/1
1 つのリクエストで複数のドキュメントを追加するには、 _bulk
API を使用します。バルクデータは改行区切りの JSON (NDJSON) である必要があります。最後の行も含め、各行は改行文字 ( n
) で終わる必要があります。
PUT customer/_bulk { "create": { } } { "firstname": "Monica","lastname":"Rambeau"} { "create": { } } { "firstname": "Carol","lastname": "ダンバース"} { "作成": { } } { "名": "ワンダ","姓":"マキシモフ"} { "作成": { } } { "名": "ジェニファー","姓": 「武田」}
検索
インデックス付きドキュメントは、ほぼリアルタイムで検索できます。次の検索では、 customer
インデックス内の名がJenniferであるすべての顧客と一致します。
GET customer/_search { "クエリ" : { "一致" : { "名": "ジェニファー" } } }
探検する
Kibana で Discover を使用すると、データを対話的に検索およびフィルタリングできます。そこから、ビジュアライゼーションの作成とダッシュボードの構築と共有を開始できます。
まず、1 つ以上の Elasticsearch インデックス、データ ストリーム、またはインデックス エイリアスに接続するデータ ビューを作成します。
[管理] > [スタック管理] > [Kibana] > [データ ビュー]に移動します。
[データ ビューの作成]を選択します。
データ ビューの名前と、1 つ以上のインデックスに一致するパターン( customerなど) を入力します。
[データ ビューを Kibana に保存する]を選択します。
探索を開始するには、 [分析] > [検出]に移動します。
Elasticsearch の以前のバージョンからアップグレードするには、Elasticsearch アップグレードのドキュメントを参照してください。
Elasticsearch はビルド システムに Gradle を使用します。
ローカル OS 用のディストリビューションを構築し、完了時にその出力場所を出力するには、次のコマンドを実行します。
./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 にアクセスしてください。
文書化プロセスの詳細については、文書の README を参照してください。
elasticsearch-labs
リポジトリには、実行可能な Python ノートブック、サンプル アプリ、およびベクター検索、ハイブリッド検索、生成 AI のユースケースで Elasticsearch をテストするためのリソースが含まれています。
貢献のガイドラインについては、「貢献」を参照してください。
バグを報告したり、機能をリクエストするには、GitHub Issue を作成します。他の人が同じトピックに対して問題を作成していないことを確認してください。
Elasticsearch の使用についてサポートが必要ですか? Elastic Forum または Slack にご連絡ください。他のコミュニティ メンバーまたは Elastic エンジニアが喜んでお手伝いいたします。