Elasticsearch 同時檢索單field多個值的查詢

 1  想得到所有在tags字段中含有novel或book的文檔。運行以下查詢來達到目的:

{
    "query" : {
        "terms" : {
            "tags" : [ "novel", "book" ],
            "minimum_match" : 1
        }
    }
}

默認只要匹配其一即可


2  被匹配的should節點數目由minimum_should_match參數控,此參數的值描述了文檔被視爲匹配時,應該匹配的should子句的最少數量。舉例來說,它可以是個整數值,比如2,也可以是個百分比,比如75%。

must:被它封裝的布爾查詢必須被匹配,文檔纔會返回

must_not:被它封裝的布爾查詢必須不被匹配,文檔纔會返回


{
  "query": {
    "bool": {
      "should": [
        {
          "term": {
            "title": "aa"
          }
        },
        {
          "term": {
            "title": "bb"
          }
        },
        {
          "term": {
            "title": "cc"
          }
        }
      ],
      "minimum_number_should_match": 1
    }
  }
}

 

備註:  

should則是包含的條件裏有一個條件爲true就返回,這與must不同,must裏的條件必須全部爲true才能返回

 Java API 的使用—實現term查詢、terms查詢


 java操作elasticsearch實現條件查詢(match、multiMatch、term、terms、reange)


ElasticSearch在Java中實現term查詢


ava中實現term查詢和terms查詢


 

 

 

FR:徐海濤(hunk Xu)
QQ技術交流羣:386476712

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章