(20)ElasticSearch java项目中的根据指定条件删除文档和查询所有文档

Posted 明月之诗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(20)ElasticSearch java项目中的根据指定条件删除文档和查询所有文档相关的知识,希望对你有一定的参考价值。

  1、删除index1中,title包含工厂的文档

@Test
    public void testQueryDelete() throws IOException, InterruptedException, ExecutionException {
        //指定集群
        Settings settings = Settings.builder().put("cluster.name","my-application").build(); 
        //创建客户端
        TransportClient client = new PreBuiltTransportClient(settings)
                                .addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.43.151"),9300));
        //删除index1中,title包含工厂的文档
        BulkByScrollResponse response = DeleteByQueryAction.INSTANCE
                                        .newRequestBuilder(client)
                                        .filter(QueryBuilders.matchQuery("title","工厂"))
                                        .source("index1")
                                        .get();
        //返回删除的个数
        long count = response.getDeleted();
        System.out.println(count);
        client.close();
   }

  2、查询index1下所有文档,只显示3条

@Test
    public void testMatchAll() throws IOException, InterruptedException, ExecutionException {
        //指定集群
        Settings settings = Settings.builder().put("cluster.name","my-application").build(); 
        //创建客户端
        TransportClient client = new PreBuiltTransportClient(settings)
                                .addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.43.151"),9300));
        //创建查询对象
        QueryBuilder qb = QueryBuilders.matchAllQuery();
        //执行查询
        SearchResponse sr = client.prepareSearch("index1")
                                  .setQuery(qb)
                                  .setSize(3)//查询出3个
                                  .get();
        //获取结果
        SearchHits hits = sr.getHits();
        for(SearchHit hit:hits) {
            //输出json
            System.out.println(hit.getSourceAsString());
            //输出json的key与value
            Map<String, Object> map = hit.getSourceAsMap();
            for(String key:map.keySet()) {
                System.out.println(key+"="+map.get(key));
            }
        }
        client.close();
   }

以上是关于(20)ElasticSearch java项目中的根据指定条件删除文档和查询所有文档的主要内容,如果未能解决你的问题,请参考以下文章

机会难得!Elasticsearch 相关岗位招聘

商城项目19_elasticsearch-Rest-Client整合SpringBoot中使用保存数据利用JAVA代码操作es

商城项目19_elasticsearch-Rest-Client整合SpringBoot中使用保存数据利用JAVA代码操作es

Elasticsearch大文件检索性能提升20倍实践(干货)

Elasticsearch大文件检索性能提升20倍实践(干货)

大数据技术之_20_Elasticsearch学习_01_概述 + 快速入门 + Java API 操作 + 创建删除索引 + 新建搜索更新删除文档 + 条件查询 + 映射操作