Elasticsearch6.4.3文檔的映射


已經把ElasticSearch的核心概念和關系數據庫做了一個對比,索引(index)相當於數據庫,類型(type)相當於數據表,映射(Mapping)相當於數據表的表結構。ElasticSearch中的映射(Mapping)用來定義一個文檔,可以定義所包含的字段以及字段的類型、分詞器及屬性等等。

文檔映射就是給文檔中的字段指定字段類型、分詞器。

使用GET /mymayikt/user/_mapping

es把type移除了!!! 自動映射 自動識別

映射的查詢: GET /toov5/_mapping

小結: Stirng 類型分為 text 和keywork  

           text會進行分詞查詢 keyword不會進行分詞查詢只能進行精確查詢!

 

映射的分類

動態映射

 

我們知道,在關系數據庫中,需要事先創建數據庫,然后在該數據庫實例下創建數據表,然后才能在該數據表中插入數據。而ElasticSearch中不需要事先定義映射(Mapping),文檔寫入ElasticSearch時,會根據文檔字段自動識別類型,這種機制稱之為動態映射。

靜態映射

在ElasticSearch中也可以事先定義好映射,包含文檔的各個字段及其類型等,這種方式稱之為靜態映射。

ES類型支持

基本類型

符串:string,string類型包含 text 和 keyword。

 

text:該類型被用來索引長文本,在創建索引前會將這些文本進行分詞,轉化為詞的組合,建立索引;允許es來檢索這些詞,text類型不能用來排序和聚合。

keyword:該類型不需要進行分詞,可以被用來檢索過濾、排序和聚合,keyword類型自讀那只能用本身來進行檢索(不可用text分詞后的模糊檢索)。

注意: keyword類型不能分詞,Text類型可以分詞查詢

數指型:long、integer、short、byte、double、float

日期型:date

布爾型:boolean

二進制型:binary

數組類型(Array datatype)

復雜類型

地理位置類型(Geo datatypes)

地理坐標類型(Geo-point datatype):geo_point 用於經緯度坐標

地理形狀類型(Geo-Shape datatype):geo_shape 用於類似於多邊形的復雜形狀

 

特定類型(Specialised datatypes)

Pv4 類型(IPv4 datatype):ip 用於IPv4 地址

Completion 類型(Completion datatype):completion 提供自動補全建議

Token count 類型(Token count datatype):token_count 用於統計做子標記的字段的index數目,該值會一直增加,不會因為過濾條件而減少

mapper-murmur3 類型:通過插件,可以通過_murmur3_來計算index的哈希值

附加類型(Attachment datatype):采用mapper-attachments插件,可支持_attachments_索引,例如 Microsoft office 格式,Open Documnet 格式, ePub,HTML等

 

 

Analyzer 索引分詞器,索引創建的時候使用的分詞器 比如ik_smart

Search_analyzer 搜索字段的值時,指定的分詞器

 

創建文檔映射: 同時還可以指定字段的分詞器!

 

不能做更改! 直接之前的刪除 然后重新創建之

##刪除索引
DELETE /toov5
##創建索引
PUT /toov5

POST /toov5/_mapping/user
{
  "user":{
    "properties":{
       "age":{
         "type":"integer"
       },
        "sex":{
         "type":"integer"
       },
       "name":{
         "type":"text",
         "analyzer":"ik_smart",
         "search_analyzer":"ik_smart"
       },
       "car":{
         "type":"keyword"
      
       }
    }
  }
  
}

##查看映射類型
GET /toov5/_mapping

查看結果:

 


免責聲明!

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



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