ElasticSearch6.4.2

做一个简单的API记录

1.依赖为6.4.2  比较老的版本

2.指定ES集群,可接多个Put();

Setting setting=Setting.builder().put("cluster.name","我的ES集群名字").build();

3.创建访问es服务器的客户端

TransportClient client=new PreBuilTransportClient(setting).addTransportAddress(new TransportAddress(ip地址,端口号));

ip地址=InetAddress.getByName("127.0.0.1"); 

端口号一般都是9200;

4.简单数据查询

 

 

 5.添加文档

 

 

 6.删除文档

 

 

7.更新文档 

 

 

 

 upsert  存在就更新,不存在就添加

 

 

 8.批量查询

mget 批量查询

 

 

 bulk 批量操作

 

 

 

 

 

 9.查询删除和查询所有

match  查询删除

 

 

 match_all 查询所有

 

 

 

 

 

10.match query查询和multiMatchQuery查询

 match query

 

 

 multiMatchQuery 可以指定多个字段

 11.term查询和terms查询

termQuery

termsQuery

 

 

 

12.range,prefix,wildcard,fuzzy,type,ids查询

范围查询rangeQuery

 

 前缀查询 prefixQuery

 

 通配符 wildcard查询

 

 模糊查询 fuzzy查询

 

 type 查询

 

 ids 查询

 

 13.聚合查询

最大值 max

 

 最小值 min

 

 平均值 avg

 

 总和 sum

 

 

求基数 有几个互不相同的 这里就是有几个互不相同的年龄

 

 

 14.query string 全文查询

 

 

 

 15.组合查询  

boolQuery 其他与其他一样

 

 constantscore

.

 

 16.桶聚合 分组

分组聚合 这里是以age分组 对应有多少个文档     后面看不到的部分 .execute().actionGet();

 

 过滤 得到的就是age为20的文档

 

 filters 多个过滤条件

 

 

 

 range聚合 范围聚合

 

 missing聚合 统计出某个字段上为空的文档有多少

 

 17.集群管理

 

 

18.filter过滤查询

 @Test
    public void test10() {
        String index = "goods";  //索引
        String type = "_doc";    //类型
        BoolQueryBuilder must=new BoolQueryBuilder();
        must.must(QueryBuilders.termQuery("price","9999"));
        SearchResponse brandName = client.prepareSearch(index).setTypes(type)
                // 过滤条件  只会查出符合条件的
                .setPostFilter(must).execute().actionGet();
        System.out.println("brandName = " + brandName);
    }

 

posted @ 2021-11-28 19:26  超级大菜鸡  阅读(302)  评论(0)    收藏  举报