前面已經說了,es都是文本的形式存盤資料,直接創建索引,和type表,欄位中插入資料,
不需要定義這些資料是什么型別的,可以不定義,但如果要定義,那么我們就可以使用mapping來定義資料結構型別
1、Es的mapping定義是基于整個庫的
Mysql資料結構欄位定義是基于整個表的
2、Es由mapping定義默認欄位資料型別

Text:可拆分的字串(分詞)
Keyword:不可拆分字串
3、決戰618這本書在吹牛,吹京東自己的,自己的sku商品(以前+現售)超10億個
4、es搜索這些sku,也相當于搜索引擎了,但比起百度,谷歌這些,10億條資料還是算少的了,
5、搭建es的資料結構(主要定義使用sku_info表的資料)
(1)商品名稱(展示/查詢)
(2)商品價格(展示/查詢)
(3)商品圖片(展示)
(4)平臺屬性和屬性值的串列(查詢)
(5)商品描述(展示/查詢)
(6)熱度值(查詢,指搜索熱度較高的商品,暫時不用)
(7)三級分類id(查詢)
(8)系列商品productId(隱藏)
(9)具體商品skuId主鍵(隱藏)
可拆分字串,都使用分詞器進行分詞,
不可拆分字串,考慮其內容是否需要被進行搜索:
是,創建索引,默認(“index”:true);否,不創建索引(“index”:false)
PUT gmall0105 庫名(不可有大寫字母)
{
"mappings": { 通過mapping定義字符型別
"PmsSkuInfo":{ 表名
"properties": { 定義欄位和屬性
"id":{ skuId主鍵
"type": "keyword" 型別:不可拆分字串
, "index": true 創建索引(默認,可不寫)
},
"skuName":{ sku名稱
"type": "text" 型別:text文本,可拆分字串
, "analyzer": "ik_max_word" 使用分詞器:盡最大可能分詞
, "index": true 創建索引(默認,可不寫)
},
"skuDesc":{ sku描述
"type": "text" 型別:text文本,可拆分字串
, "analyzer": "ik_smart" 使用分詞器:簡易分詞
, "index": true 創建索引(默認,可不寫)
},
"catalog3Id":{ 3級分類Id
"type": "keyword" 型別:不可拆分字串
, "index": true 創建索引(默認,可不寫)
},
"price":{ 價格
"type": "double" 型別:double
, "index": true 創建索引(默認,可不寫)
},
"skuDefaultImg":{ sku主圖
"type": "keyword" 型別:不可拆分字串
, "index": false 不創建索引(不需要根據圖片地址搜索商品)
},
"hotScore":{ 熱度值
"type": "double" 型別:double
, "index": true 創建索引(默認,可不寫)
},
"productId":{ spu系列商品Id
"type": "keyword" 型別:不可拆分字串
, "index": true 創建索引(默認,可不寫)
},
"skuAttrValueList":{ 平臺屬性和屬性值串列(中間表)
"properties": { 定義欄位和屬性
"attrId":{ 平臺屬性Id
"type":"keyword" 型別:不可拆分字串
, "index": true 創建索引(默認,可不寫)
},
"valueId":{ 平臺屬性值Id
"type":"keyword" 型別:不可拆分字串
, "index": true 創建索引(默認,可不寫)
}
}
}
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/238043.html
標籤:其他
上一篇:手把手教你1分鐘接入騰訊地圖
下一篇:什么是模塊化?模塊化有哪些優缺點
