ES(Elasticsearch)是一个开源的分布式搜索和分析引擎,常用于构建全文搜索、日志分析以及实时数据分析等场景。在Java中操作ES有多种方式,本文将介绍一些常用的ES操作语法分组。

1. 连接ES集群
连接ES集群是进行ES操作的第一步。在Java中连接ES集群通常使用TransportClient或者RestHighLevelClient。其中,TransportClient是ES旧版客户端,已在Elasticsearch 7.x中废弃,推荐使用RestHighLevelClient。连接ES集群的代码示例如下:

TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
                .addTransportAddress(new TransportAddress(InetAddress.getByName("host1"), 9300))
                .addTransportAddress(new TransportAddress(InetAddress.getByName("host2"), 9300));

2. 创建索引
在ES中,索引类似于数据库中的表,用于存储和组织数据。创建索引的代码示例如下:

CreateIndexResponse response = client.admin().indices().prepareCreate("index_name")
                .setSettings(Settings.builder()
                        .put("index.number_of_shards", 1)
                        .put("index.number_of_replicas", 0)
                ).get();

3. 添加文档
在ES中,文档是索引中的基本单位,可以是JSON格式的数据。添加文档的代码示例如下:

IndexResponse response = client.prepareIndex("index_name", "type_name", "document_id")
                .setSource(jsonString, XContentType.JSON)
                .get();

4. 查询文档
ES提供了丰富的查询方式,可以根据查询条件进行精确查询或者使用一些高级查询功能。查询文档的代码示例如下:

SearchResponse response = client.prepareSearch("index_name")
                .setTypes("type_name")
                .setQuery(QueryBuilders.matchQuery("field_name", "key_word"))
                .get();

以上就是一些常用的ES操作语法分组,包括连接ES集群、创建索引、添加文档和查询文档等。通过这些操作,可以在Java中对ES进行灵活的数据操作和查询。