まず、Javaでの高水準RESTクライアントのセットアップ方法を示します。
- Mavenプロジェクトに以下の依存関係を追加します:
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.15.0</version>
</dependency>
- Elasticsearchに接続するためのクライアントを作成します:
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("localhost", 9200, "http")));
上記のコードでは、ローカルホストの9200ポートを介してElasticsearchに接続しています。
次に、いくつかの基本的な操作を示します。
- ドキュメントのインデックス作成:
IndexRequest request = new IndexRequest("index_name");
request.id("document_id");
request.source("field1", "value1");
request.source("field2", "value2");
IndexResponse response = client.index(request, RequestOptions.DEFAULT);
上記の例では、"index_name"という名前のインデックスに、"document_id"というIDでドキュメントを作成しています。
- ドキュメントの検索:
SearchRequest request = new SearchRequest("index_name");
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
TermQueryBuilder termQuery = QueryBuilders.termQuery("field", "value");
sourceBuilder.query(termQuery);
request.source(sourceBuilder);
SearchResponse response = client.search(request, RequestOptions.DEFAULT);
上記の例では、"index_name"というインデックスから、"field"フィールドが特定の値を持つドキュメントを検索しています。
これらは、高水準RESTクライアントを使用してElasticsearch APIを呼び出すための基本的な操作の一部です。さまざまな操作やクエリの詳細については、公式のElasticsearchドキュメントやAPIリファレンスを参照してください。
ブログ投稿では、これらのコード例を用いて、Elasticsearch APIを使用してデータのインデックス作成や検索を行う方法について詳しく説明することができます。また、エラーハンドリングやパフォーマンスの最適化など、さらに詳細なトピックにも触れることができます。