首先通过Transport Client获取ES的连接
private Client client;
//通过Transport Client获取ES的连接
@Before
public void getClient() throws Exception{
//ES服务的JavaAPI的port为9300
//注意:如果请求一个ES集群,可以多添几个节点
//为了避免在一个节点出现网络问题导致的请求失败问题,可以自动切换另外一个节点
client = TransportClient.builder().build()
.addTransportAddress(new InetSocketTransportAddress(
InetAddress.getByName(“localhost”),9300));
//.addTransportAddress(…);
}
操作命令
----------------------------------------新建文档------------------------------------
- 使用json来创建文档(插入一条数据),自动创建索引和映射
@Test
public void createDocument1(){
// json格式的数据
//json "需要转义 -> \
String source = “{” +
““id”:“1”,” +
““title”:“Lucene是一套用于全文检索和搜寻的开源程式库”,” +
““content”:“Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻”” +
“}”;
//创建文档, 定义索引名称,文档类型,主键唯一标识ID
//execute().actionGet() == get() 代表立刻执行
IndexResponse indexResponse =
client.prepareIndex(“blog”, “article”, “1”)
.setSource(source).get(); //加载数据并触发
this.getResponse(indexResponse); //对应下面封装信息
client.close();
}
将打印信息封装成类,方便this调用
//获取响应信息
private void getResponse(IndexResponse indexResponse) {
System.out.println("索引名称: " + indexResponse.getIndex());
System.out.println("文档类型: "+indexResponse.getType());
System.out.println("ID: "+indexResponse.getId());
System.out.println("版本: "+indexResponse.getVersion());
System.out.println("是否创建成功: "+indexResponse