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分组 对应有多少个文档

过滤 得到的就是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);
}

浙公网安备 33010602011771号