JAVA使用ElasticSearch查詢in和notin的實(shí)現(xiàn)方式

ElasticSearch

西工網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

Elasticsearch是一個(gè)基于Lucene的搜索服務(wù)器。它提供了一個(gè)分布式多用戶能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java開發(fā)的,并作為Apache許可條款下的開放源碼發(fā)布,是當(dāng)前流行的企業(yè)級(jí)搜索引擎。設(shè)計(jì)用于云計(jì)算中,能夠達(dá)到實(shí)時(shí)搜索,穩(wěn)定,可靠,快速,安裝使用方便。

最近用到ES查詢,因用的是Java寫的,需要實(shí)現(xiàn)一個(gè)需求:過(guò)濾一部分id,查詢時(shí)不需要查出來(lái)。 

既然需要不包含,那么首先需要實(shí)現(xiàn)包含的方式(精確完全匹配),這里我們要用到的是termQuery

首先看下ES Bool聯(lián)合查詢的屬性:

bool聯(lián)合查詢: must,should,must_not

聯(lián)合查詢就會(huì)使用到must,should,must_not三種關(guān)鍵詞。

這三個(gè)可以這么理解

  • must: 文檔必須完全匹配條件
  • should: should下面會(huì)帶一個(gè)以上的條件,至少滿足一個(gè)條件,這個(gè)文檔就符合should
  • must_not: 文檔必須不匹配條件

具體案例,我需要過(guò)濾掉不用的exerciseId

    BoolQueryBuilder exersiceBoolQuery = QueryBuilders.boolQuery();
    if (exersiceIds != null && exersiceIds.size() > 0)
    {
      for (String exerciseId: exersiceIds)
      {
        exersiceBoolQuery.mustNot(QueryBuilders.termQuery("id", exerciseId));
      }
    }

最后在發(fā)送請(qǐng)求的時(shí)候,加上你的exersiceBoolQuery即可

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

網(wǎng)站欄目:JAVA使用ElasticSearch查詢in和notin的實(shí)現(xiàn)方式
文章網(wǎng)址:http://bm7419.com/article30/geggso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、微信小程序、網(wǎng)站改版、移動(dòng)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司