elasticsearch client java 简单code 应用

本文提供了一个使用Java API连接Elasticsearch集群并创建索引的具体示例。通过TransportClient连接三个不同节点,演示了如何指定索引名称、类型及ID来执行创建操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.kele,xuebi;

import java.net.InetAddress;
import java.net.UnknownHostException;

import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;

public class CreateIndex {

	public static void main(String[] args) throws UnknownHostException {
		// TODO Auto-generated method stub
		
		//client 配置参考官方资料链接 
		//https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/transport-client.html
		
		//my-application  本名字跟 /opt/elasticsearch-2.2.0/config/elasticsearch.yml 中配置的集群参数名字相同 cluster.name: my-application
		
		Settings  settings = Settings.settingsBuilder().put("cluster.name", "my-application").build();

		Client client = TransportClient.builder().settings(settings).build()
		.addTransportAddresses(new InetSocketTransportAddress(InetAddress.getByName("bigdataspark"), 9300))
		.addTransportAddresses(new InetSocketTransportAddress(InetAddress.getByName("bigdatacloud"), 9300))
		.addTransportAddresses(new InetSocketTransportAddress(InetAddress.getByName("bigdatastorm"), 9300));
		
		IndexResponse actionGet = client.prepareIndex("shuiguo101", "friut", "1").setSource().execute().actionGet();
		
		System.out.println(actionGet);
		client.close();
			
	}

}

这玩意不简单!!!!!!


### 关于Elasticsearch Java API Client的使用教程 #### 创建Maven项目并配置依赖项 为了能够顺利运行Elasticsearch Java API Client,需先创建一个新的Maven项目,并在`pom.xml`文件中加入必要的依赖来支持此客户端[^4]。 ```xml <dependencies> <!-- Elasticsearch Java API Client --> <dependency> <groupId>co.elastic.clients</groupId> <artifactId>elasticsearch-java</artifactId> <version>8.10.3</version> </dependency> <!-- Jackson for JSON serialization/deserialization --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.15.2</version> </dependency> <!-- Other dependencies as needed... --> </dependencies> ``` #### 初始化ElasticsearchClient实例 接下来,在Spring Boot应用或其他Java环境中初始化`ElasticsearchClient`对象。通常情况下会采用自动装配的方式完成这一操作[^2]: ```java import co.elastic.clients.elasticsearch.ElasticsearchClient; import org.springframework.beans.factory.annotation.Autowired; public class MyService { @Autowired private ElasticsearchClient client; // ... other code ... } ``` #### 执行基本查询操作 有了上述准备工作之后就可以编写具体的业务逻辑了。下面是一个简单的例子展示怎样执行一次全文检索请求[^1]: ```java import co.elastic.clients.elasticsearch._types.query_dsl.MatchQuery; import co.elastic.clients.elasticsearch.core.SearchResponse; import co.elastic.clients.elasticsearch.core.search.Hit; import java.util.List; // 假设我们有一个索引名为 "my-index" String indexName = "my-index"; try { SearchResponse<MyDocumentType> response = this.client.search( s -> s.index(indexName).query(q -> q.match(mq -> mq.field("content").query("example"))), MyDocumentType.class); List<Hit<MyDocumentType>> hits = response.hits().hits(); System.out.println(hits); } catch (IOException e) { throw new RuntimeException(e); } ``` 这里假设存在一个自定义的数据模型类 `MyDocumentType`, 它代表存储在指定索引内的文档结构。这段代码实现了针对字段 `"content"` 中包含关键词 `"example"` 的记录进行搜索的功能。 #### 构建复杂查询条件 除了基础的匹配查询外,还可以构建更复杂的组合式查询语句,比如布尔表达式的运用等。具体可以参阅官方文档获取更多细节说明[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值