TransportClient的使用
时间: 2024-09-10 09:29:41 浏览: 43
transport-netty4-client-6.3.0-API文档-中英对照版.zip
TransportClient是Elasticsearch的一个客户端,用于将HTTP请求发送到Elasticsearch集群。它通常用于Elasticsearch的Java API中。使用TransportClient可以创建索引,更新文档,执行搜索等操作。以下是一个简单的使用例子:
```java
// 导入TransportClient相关的类
import org.elasticsearch.client.Client;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import java.net.InetAddress;
// 创建Settings实例,设置集群名称
Settings settings = Settings.builder().put("cluster.name", "elasticsearch").build();
// 创建TransportClient实例
Client client = TransportClient.builder().settings(settings).build()
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));
// 使用Client实例执行各种操作
// 创建索引
client.admin().indices().prepareCreate("posts").setSettings(Settings.builder().put("index.number_of_shards", 1).put("index.number_of_replicas", 0)).execute().actionGet();
// 索引文档
XContentBuilder builder = XContentFactory.jsonBuilder()
.startObject()
.field("title", "Test Document")
.field("content", "Elasticsearch is cool")
.endObject();
client.prepareIndex("posts", "doc", "1").setSource(builder).execute().actionGet();
// 执行搜索
SearchResponse searchResponse = client.prepareSearch("posts")
.setTypes("doc")
.setQuery(QueryBuilders.matchQuery("content", "Elasticsearch"))
.execute()
.actionGet();
// 关闭Client实例
client.close();
```
在上面的例子中,首先通过Settings配置集群信息,然后创建一个TransportClient实例。之后使用这个实例进行索引创建、文档索引和搜索等操作。最后关闭客户端资源。
阅读全文