zoukankan      html  css  js  c++  java
  • (24)ElasticSearch java项目中组合查询示例

      查询interests字段包含changge并且不包含lvyou,或者address字段包含bei jing的文档,并且前面两种都要满足birthday>="1980-01-01"

    @Test
        public void testBoolQuery() 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));
            //创建查询对象,查询interests字段包含changge并且不包含lvyou,或者address字段包含bei jing的文档,并且前面两种都要满足birthday>="1980-01-01"
            QueryBuilder qb = QueryBuilders.boolQuery()
                              .must(QueryBuilders.matchQuery("interests","changge"))
                              .mustNot(QueryBuilders.matchQuery("interests","lvyou"))
                              .should(QueryBuilders.matchQuery("address", "bei jing"))
                              .filter(QueryBuilders.rangeQuery("birthday").gte("1980-01-01").format("yyyy-MM-dd"));
            //执行查询
            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();
       }
  • 相关阅读:
    Qt模拟C#的File类对文件进行操作
    Qt Creator (C++)保存文件
    winfrom LED时钟
    winfrom 水晶按钮
    C#语言的Image和byte数组的互相转换
    GDI+ 绘图闪烁解决方法
    vue webpack 架构下使用 bootstrap 的模态框modal 做遮罩效果组件及应用
    windows 版Tomcat 7.0的配置
    转:说说JSON和JSONP
    HttpWebRequest在GetResponse时总是超时
  • 原文地址:https://www.cnblogs.com/javasl/p/12081814.html
Copyright © 2011-2022 走看看