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


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之 控制相關度原理講解







ES 中 Text keyword 兩種基本類型區別

  • string字段被拆分成兩種新的數據類型: text用於全文搜索的, 而keyword用於關鍵詞搜索.
  • 字符串將默認被同時映射成text和keyword類型,就像下面的這種結構

動態映射(dynamic mappings)

           "name": {
              "type": "text",
              "fields": {
                 "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                 }
              }
           }
  • 於這個映射你即可以在foo字段上進行全文搜索, 也可以通過foo.keyword字段實現關鍵詞搜索及數據聚合
  • 如何將新舊的版本遷移

全文索引的字段

{
    "foo": {
        "type": "string",
        "index": "analyzed"
    }
}

{
    "foo": {
        "type": "text",
        "index": true
    }
}

不索引 關鍵詞搜索

{
    "foo": {
        "type": "string",
        "index": "not_analyzed"
    }
}

{
    "foo": {
        "type": "keyword",
        "index": true
    }
}


免責聲明!

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



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