# 如何自己尝试 API 以掌握所有搜索和聚合的语法

  1. 自己要什么 query,自己去用 QueryBuilders 去尝试,如 disMaxQuery
  2. 自己的某种 query,有一些特殊的参数,tieBreaker,自己拿着 query 去尝试,点一下,看 ide 的自动提示,自己扫一眼,不就知道有哪些 query,哪些参数了
  3. 如果不是 query,是聚合,也是一样的,你就拿 AggregationBuilders,点一下,看一下 ide 的自动提示,我们讲过的各种语法,都有了
  4. 包括各种聚合的参数,也是一样的,找到对应的 AggregationBuilder 之后,自己点一下,找需要的参数就可以了
  5. 自己不断尝试,就 o 了,组装了一个搜索,或者聚合,自己试一下,测一下

如果你实在找不到,搞不定,就 QQ 来找我,当然别自己一开始就跑来找我,先自己努力研究一下

有些人说,可以上官网,官网 api 也没这么全

比如大部分的语法在 QueryBuilders 中就已经支持了。所以自己根据 restfull 的写法找对应的 api

SearchResponse searchResponse = client.prepareSearch("car_shop")
               .setTypes("shops")
               .setQuery(QueryBuilders)
               .get();
1
2
3
4