zoukankan      html  css  js  c++  java
  • (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();
       }
  • 相关阅读:
    Python连接redis时要注意的点
    Python SQLAlchemy多对多外键关联时表结构
    SQLAlchemy中解决数据库访问时出现的Incorrect string value: xxx at row 484
    HDFS集群数据不均衡处理
    elasticsearch数据过期删除处理
    docker使用技巧小记
    kubeadm部署kubernetes-1.12.0 HA集群-ipvs
    k8s全栈监控之metrics-server和prometheus
    k8s小工具
    k8s集群之上游dns--dnsmasq,统一管理kubernetes的dns解析
  • 原文地址:https://www.cnblogs.com/javasl/p/12070422.html
Copyright © 2011-2022 走看看