您好,登錄后才能下訂單哦!
本篇內容主要講解“Elasticsearch映射字段數據類型及管理的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Elasticsearch映射字段數據類型及管理的方法”吧!
在Elasticsearch 6.0.0或更高版本中創建的索引只包含一個mapping type。 在5.x中使用multiple mapping types創建的索引將繼續像以前一樣在Elasticsearch 6.x中運行。 Mapping types將在Elasticsearch 7.0.0中完全刪除
在創建索引的時候,可以預先定義字段的類型及相關屬性
Es會根據Json數據源的基礎類型,猜測你想要映射的字段,將輸入的數據轉變成可以搜索的索引項。
Mapping是我們自己定義的字段數據類型,同時告訴es如何索引數據及是否可以被搜索
作用:會讓索引建立的更加細致和完善
string類型:text,keyword
數字類型:long,integer,short,byte,double,float
日期類型:data
布爾類型:boolean
binary類型:binary
復雜類型:object(實體,對象),nested(列表)
geo類型:geo-point,geo-shape(地理位置)
專業類型:ip,competion(搜索建議)
屬性 | 描述 | 適合類型 |
---|---|---|
store | 值為yes表示存儲,no表示不存儲,默認為no | all |
index | yes表示分析,no表示不分析,默認為true | text |
null_value | 如果字段為空,可以設置一個默認值,比如"NA"(傳過來為空,不能搜索,na可以搜索) | all |
analyzer | 可以設置索引和搜索時用的分析器,默認使用的是standard分析器,還可以使用whitespace,simple。都是英文分析器 | all |
include_in_all | 默認es為每個文檔定義一個特殊域_all,它的作用是讓每個字段都被搜索到,如果想讓某個字段不被搜索到,可以設置為false | all |
format | 時間格式字符串模式 | date |
text類型會取出詞做倒排索引,keyword不會被分詞,原樣存儲,原樣匹配
mapping類型一旦確定,以后就不能修改了
#6.x的版本沒問題 PUT books { "mappings": { "book":{ "properties":{ "title":{ "type":"text", "analyzer": "ik_max_word" }, "price":{ "type":"integer" }, "addr":{ "type":"keyword" }, "company":{ "properties":{ "name":{"type":"text"}, "company_addr":{"type":"text"}, "employee_count":{"type":"integer"} } }, "publish_date":{"type":"date","format":"yyy-MM-dd"} } } } }
7.x版本以后
PUT books { "mappings": { "properties":{ "title":{ "type":"text", "analyzer": "ik_max_word" }, "price":{ "type":"integer" }, "addr":{ "type":"keyword" }, "company":{ "properties":{ "name":{"type":"text"}, "company_addr":{"type":"text"}, "employee_count":{"type":"integer"} } }, "publish_date":{"type":"date","format":"yyy-MM-dd"} } } }
插入數據測試:
PUT books/_doc/1 { "title":"大頭兒子小偷爸爸", "price":100, "addr":"北京天安門", "company":{ "name":"我愛北京天安門", "company_addr":"我的家在東北松花江傻姑娘", "employee_count":10 }, "publish_date":"2019-08-19" } #測試數據2 PUT books/_doc/2 { "title":"白雪公主和十個小矮人", "price":"99", #寫字符串會自動轉換 "addr":"黑暗森里", "company":{ "name":"我的家鄉在上海", "company_addr":"朋友一生一起走", "employee_count":10 }, "publish_date":"2018-05-19" }
#查看books索引的mapping GET books/_mapping #獲取所有的mapping GET _all/_mapping
到此,相信大家對“Elasticsearch映射字段數據類型及管理的方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。