ES 入門記錄之 match和term查詢的區別


ElasticSearch 系列文章

1 ES 入門之一 安裝ElasticSearcha

2 ES 記錄之如何創建一個索引映射

3 ElasticSearch 學習記錄之Text keyword 兩種基本類型區別

4 ES 入門記錄之 match和term查詢的區別

5 ElasticSearch 學習記錄之ES幾種常見的聚合操作

6 ElasticSearch 學習記錄之父子結構的查詢

7 ElasticSearch 學習記錄之ES查詢添加排序字段和使用missing或existing字段查詢

8 ElasticSearch 學習記錄之ES高亮搜索

9 ElasticSearch 學習記錄之ES短語匹配基本用法

10 ElasticSearch 學習記錄之 分布式文檔存儲往ES中存數據和取數據的原理

11 ElasticSearch 學習記錄之集群分片內部原理

12 ElasticSearch 學習記錄之ES如何操作Lucene段

13 ElasticSearch 學習記錄之如任何設計可擴容的索引結構

14 ElasticSearch之 控制相關度原理講解







match和term查詢的區別

match
- match的查詢詞會被分詞
- match_phrase 不會分詞
- match_phrase 可對多個字段進行匹配

term
- term代表完全匹配,不進行分詞器分析
- term 查詢的字段需要在mapping的時候定義好,否則可能詞被分詞。傳入指定的字符串,查不到數據

bool聯合查詢
- must should must_not
- must 完全匹配
- should 至少滿足一個
- must_not不匹配

舉個栗子

		{
	  "query": {
	    "bool": {
	      "must": {
	        "term": {
	          "content": "寶馬"
	        }
	      },
	      "must_not": {
	        "term": {
	          "tags": "寶馬"
	        }
	      }
	    }
	  }
	}
一個簡單的查詢
POST product/_search
{
    "size": 20,
    "query": {
        "bool": {
            "must": [
               {
                   "term": {
                      "attribute": {
                         "value": "13"
                      }
                   }
               },
               {
                   "match": {
                      "departureCitys": "上海"
                   }
               }
            ]
        }
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM