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)
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM