es中查询API使用

1、BoolQueryBuilder中must与should区别

must的两个条件都必须满足,should中的两个条件至少满足一个就可以;must相当于and,should相当于or

2、QueryBuilders中matchQuery与termQuery、termsQuery区别

match query搜索的时候,首先会解析查询字符串,进行分词,然后查询,而term query,输入的查询内容是什么,就会按照什么去查询,并不会解析查询内容,对它分词。

terms query对多个值进行查询,相当于in;

 

3、用9200   RestHighLevelClient连接查询API

 

String[] ips = str.split(",");
List<HttpHost> httpHosts = new ArrayList<>();
for (String ip : ips) {
httpHosts.add(new HttpHost(ip, 9200, "http"));
}
RestHighLevelClient client = new RestHighLevelClient
(RestClient.builder((HttpHost[]) httpHosts.toArray(new HttpHost[httpHosts.size()])))
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT)
 
posted @ 2019-11-12 16:43  再见傅里叶  阅读(2699)  评论(0编辑  收藏  举报