国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

JAVA使用ElasticSearch查詢in和not in的實現方式

2024-07-14 08:43:04
字體:
來源:轉載
供稿:網友

ElasticSearch

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

最近用到ES查詢,因用的是Java寫的,需要實現一個需求:過濾一部分id,查詢時不需要查出來。 

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

首先看下ES Bool聯合查詢的屬性:

bool聯合查詢: must,should,must_not

聯合查詢就會使用到must,should,must_not三種關鍵詞。

這三個可以這么理解

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

具體案例,我需要過濾掉不用的exerciseId

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

最后在發送請求的時候,加上你的exersiceBoolQuery即可

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 安化县| 年辖:市辖区| 漯河市| 五寨县| 恩平市| 武宣县| 霍州市| 南投市| 巩留县| 荃湾区| 大埔县| 奇台县| 正宁县| 孙吴县| 宁阳县| 衡阳县| 江陵县| 长沙县| 上高县| 和林格尔县| 武胜县| 出国| 盐亭县| 沾益县| 玉环县| 泸水县| 长丰县| 柘荣县| 永安市| 赤壁市| 儋州市| 平远县| 延津县| 平顶山市| 康乐县| 长汀县| 宁乡县| 城市| 镇宁| 夏河县| 泸溪县|