成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

ElasticSearch之BoolQueryBuilder使用

IT那活兒 / 2015人閱讀
ElasticSearch之BoolQueryBuilder使用

點(diǎn)擊上方“IT那活兒”公眾號(hào),關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!


ES查詢方式

ElasticSearch使用的頻率是越來越高,其中關(guān)于es查詢的方式也是各式各樣,最近發(fā)現(xiàn)了一種比較好用的es查詢條件buider:BoolQueryBuilder。接下來分享一下使用過程。


引入pom文件

我使用的是elasticSearch7x,在pom文件中引入以下jar包,完美搭配。


<dependency>
   <groupId>org.elasticsearch.clientgroupId>
   <artifactId>elasticsearch-rest-high-level-clientartifactId>
   <version>7.10.2version>
   <exclusions>
       <exclusion>
           <artifactId>elasticsearchartifactId>
           <groupId>org.elasticsearchgroupId>
       exclusion>
       <exclusion>
           <groupId>org.elasticsearch.clientgroupId>
           <artifactId>elasticsearch-rest-clientartifactId>
       exclusion>
   exclusions>
dependency>



<dependency>
   <groupId>org.elasticsearchgroupId>
   <artifactId>elasticsearchartifactId>
   <version>7.10.2version>
   
dependency>


<dependency>
   <groupId>org.apache.logging.log4jgroupId>
   <artifactId>log4j-coreartifactId>
   <version>2.18.0version>
dependency>
<dependency>
   <groupId>org.apache.logging.log4jgroupId>
   <artifactId>log4j-apiartifactId>
   <version>2.18.0version>
dependency>




<dependency>
   <groupId>org.elasticsearch.clientgroupId>
   <artifactId>elasticsearch-rest-clientartifactId>
   <version>7.10.2version>
dependency>


<dependency>
   <groupId>com.google.code.gsongroupId>
   <artifactId>gsonartifactId>
   <version>2.9.0version>
dependency>


使用示例

Es client配置類:
Yml文件配置:
# elasticsearch
spring:
elasticsearch.:
   jest:
     proxy:
       host: 192.168.X.XX
       port: 9200
配置完成之后,我們接下來正式使用BoolQueryBuilder,使用之前先介紹幾個(gè)查詢方法:
  • 精確查找

    boolQueryBuilder.must(QueryBuilders.termQuery("demo","demo"));

  • 模糊匹配

    boolQueryBuilder.must(QueryBuilders.wildcardQuery("name", String.format("*%s*", "")));

  • 范圍查詢boolQueryBuilder.must(QueryBuilders.rangeQuery("startTime").gte(startTime)
接下來上一段我根據(jù)時(shí)間范圍分頁查詢的代碼:
這里需要注意一個(gè)點(diǎn):在使用BoolQueryBuilder構(gòu)建完查詢條件,通過SourceBuilder轉(zhuǎn)換成es查詢語句時(shí)需要加上分頁參數(shù),不然查詢結(jié)果默認(rèn)只返回10條。
BoolQueryBuilder構(gòu)建查詢條件的方式還是很多的,這里就不一一舉例了。這種查詢方式擺脫了傳統(tǒng)寫es查詢語句煩惱,代碼簡潔,可塑性更高。


本文作者:段席超(上海新炬王翦團(tuán)隊(duì))

本文來源:“IT那活兒”公眾號(hào)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/129159.html

相關(guān)文章

  • Elasticsearch search使用幾點(diǎn)總結(jié)

    摘要:一使用進(jìn)行匹配的時(shí)候匹配的時(shí)候,如果想盡可能的多檢索結(jié)果,考慮使用如果想盡可能精確的匹配分詞結(jié)果,考慮使用如果短語匹配的時(shí)候,怕遺漏,考慮使用。 一、使用match進(jìn)行匹配的時(shí)候: 1.匹配的時(shí)候,如果想盡可能的多檢索結(jié)果,考慮使用match; 2.如果想盡可能精確的匹配分詞結(jié)果,考慮使用match_phrase; 3.如果短語匹配的時(shí)候,怕遺漏,考慮使用match_phrase_pr...

    DobbyKim 評(píng)論0 收藏0
  • elasticSearch升級(jí)記錄 ver.1.4.5→ver.5.2.0

    摘要:前言項(xiàng)目中的由升級(jí)至。已經(jīng)棄用,相應(yīng)功能由實(shí)現(xiàn),直接替換即可。構(gòu)造報(bào)文調(diào)整調(diào)整成棄用,相關(guān)功能由實(shí)現(xiàn)。類型表示精確查找的文本,不需要進(jìn)行分詞。查詢字段時(shí),使用表示改版后,設(shè)置了的情況下,也要設(shè)置,否則會(huì)報(bào)。 前言 項(xiàng)目中的es由ver.1.4.5升級(jí)至ver.5.2.0。 安裝elasticSearch #下載 wget https://artifacts.elastic.co/dow...

    姘擱『 評(píng)論0 收藏0
  • 慕課網(wǎng)_《ElasticSearch入門》學(xué)習(xí)總結(jié)

    摘要:時(shí)間年月日星期四說明本文部分內(nèi)容均來自慕課網(wǎng)。那么里面的數(shù)據(jù)就可以分為各種各樣的索引,比如汽車索引圖書索引家具索引等等。圖書索引又可以細(xì)分為各種類型,比如科普類小說類技術(shù)類等等。具體到每一本書籍,就是文檔,就是整個(gè)圖書里面最小的存儲(chǔ)單位。 時(shí)間:2017年09月14日星期四說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學(xué)源碼:無學(xué)習(xí)源碼:https...

    notebin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<