Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java elasticsearch

作者:无法言喻   发布日期:2025-04-04   浏览:78

// 引入必要的依赖
import org.elasticsearch.action.index.IndexRequest;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.common.xcontent.XContentType;

import java.io.IOException;

public class ElasticsearchExample {

    // 创建一个简单的Elasticsearch文档索引示例
    public static void main(String[] args) {
        // 创建RestHighLevelClient实例,用于与Elasticsearch集群通信
        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(new HttpHost("localhost", 9200, "http")));

        try {
            // 创建一个IndexRequest对象,指定索引名称和文档类型
            IndexRequest request = new IndexRequest("posts")
                    .id("1") // 设置文档ID
                    .source(XContentType.JSON, "title", "Elasticsearch Java Example", "content", "This is a simple example.");

            // 执行索引操作并获取响应
            IndexResponse response = client.index(request, RequestOptions.DEFAULT);

            // 输出响应结果
            System.out.println(response.getResult());

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 关闭客户端连接
            try {
                client.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

解释说明:

  • RestHighLevelClient:这是与Elasticsearch集群进行通信的客户端。它提供了高层API来执行各种操作,如索引、搜索等。
  • IndexRequest:用于创建一个新的文档或更新现有文档。在这个例子中,我们创建了一个名为posts的索引,并添加了一个具有特定ID的文档。
  • XContentType.JSON:指定了文档的内容类型为JSON格式。
  • client.index():执行索引操作并将结果返回给IndexResponse对象。
  • client.close():确保在操作完成后关闭客户端连接,释放资源。

如果需要更详细的配置或其他功能(如查询、删除等),可以根据需求进一步扩展代码。

上一篇:java linkedlist

下一篇:java线程池的工作原理

大家都在看

java连接数据库的代码

ubuntu 卸载java

java sort用法

java collections.sort

java file类的方法

java 判断

java时间数据类型

java 时间加一天

java demo

java 截取

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站