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)