zoukankan      html  css  js  c++  java
  • (23)ElasticSearch java项目中查询所有字段筛选文档——queryStringQuery和simpleQueryStringQuery

      1、查询所有字段中含有changge且不含有hejiu的文档

    @Test
        public void testQueryStringQuery() 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));
            //创建查询对象,查询所有字段中含有changge且不含有hejiu的文档
            QueryBuilder qb = QueryBuilders.queryStringQuery("+changge -hejiu");
            //执行查询
            SearchResponse sr = client.prepareSearch("lib3")
                                      .setQuery(qb)
                                      .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();
       }

      2、查询所有字段中含有changge或者不含有hejiu的文档

    @Test
        public void testSimpleQueryStringQuery() 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));
            //创建查询对象,查询所有字段中含有changge或者不含有hejiu的文档
            QueryBuilder qb = QueryBuilders.simpleQueryStringQuery("+changge -hejiu");
            //执行查询
            SearchResponse sr = client.prepareSearch("lib3")
                                      .setQuery(qb)
                                      .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();
       }
  • 相关阅读:
    Spring MVC,绑定数组、集合
    kettle 使用 CARTE 执行
    正交投影矩阵_相机中的透视投影几何——讨论相机中的正交投影
    VS 遇到异常 可能是某个扩展导致的 解决方法 和提升程序管理员权限的方法
    IDEA Community环境搭建笔记
    PHP ROT18加解密
    C# TTS 文字转语音
    软件开发文档【模板】
    java 打印日志 规范建议
    java 死锁 排查 (jstack jconsole jvisualvm jmc)
  • 原文地址:https://www.cnblogs.com/javasl/p/12081805.html
Copyright © 2011-2022 走看看