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