大数据技术之Elasticsearch-Java API操作(一)API基本操作

搜索文档数据(多条数据

1)源代码

@Test

public void getMultiData() {

// 1 查询多个文档

MultiGetResponse response = client.prepareMultiGet().add("blog", "article", "1").add("blog", "article", "2", "3").add("blog", "article", "2").get();

// 2 遍历返回的结果

for(MultiGetItemResponse itemResponse:response){

GetResponse getResponse = itemResponse.getResponse();

// 如果获取到查询结果

if (getResponse.isExists()) {

String sourceAsString = getResponse.getSourceAsString();

System.out.println(sourceAsString);

}

}

// 3 关闭资源

client.close();

}

2)结果查看

{"id":"1","title":"基于Lucene的搜索服务器","content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口"}

{"content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口","id":"2","title":"基于Lucene的搜索服务器"}

{"id":3,"titile":"ElasticSearch是一个基于Lucene的搜索服务器","content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。"}

{"content":"它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口","id":"2","title":"基于Lucene的搜索服务器"}

****自己操作****

Java代码:

// 六、查询文档-多个索引
    @Test
    public void getMultiData() {
        MultiGetResponse multiResponse = client.prepareMultiGet().add("blog", "article", "1")
                .add("blog", "article", "1", "UnrO63MBy_Mwy4r5J6VY").add("blog", "article", "Rw3d8XMBfpkCch_aW3Da")
                .get();
        // 遍历返回的结果
                   for (MultiGetItemResponse response : multiResponse) {
            GetResponse getResponse = response.getResponse();
            if (getResponse.isExists()) {
                String sourceAsString = getResponse.getSourceAsString();
                System.out.println(sourceAsString);
            }
        }
client.close(); }

结果:

 

对比服务器中的数据:

 

 

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3