索引有了,接下來肯定是新增資料。但是,在新增資料之前必須定義對映。
什麼是對映?
對映是定義文件的過程,文件包含哪些字段,這些字段是否儲存,是否索引,是否分詞等
只有配置清楚,elasticsearch才會幫我們進行索引庫的建立(不一定)
語法請求方式依然是put
}}
示例發起請求:
,
"images
": ,
"price":
}}當博主開始學習的時候es已經到了7.x版本,上述型別新增會報錯!!!!!!!!!
原因:
這個是因為elasticsearch7.0 之後不支援type導致的…
詳解:
響應結果:
語法:
示例:
響應:
,2.5.3.1.type"price
": ,
"title": }}
}}}
elasticsearch中支援的資料型別非常豐富:
我們說幾個關鍵的:
numerical:數值型別,分兩類
date:日期型別
elasticsearch可以對日期格式化為字串儲存,但是建議我們儲存為毫秒值,儲存為long,節省空間。
2.5.3.2.index
index影響欄位的索引情況。
index的預設值就是true,也就是說你不進行任何配置,所有欄位都會被索引。
但是有些欄位是我們不希望被索引的,比如商品的資訊,就需要手動設定index為false。
2.5.3.3.store
是否將資料進行額外儲存。
在學習lucene和solr時,我們知道如果乙個欄位的store設定為false,那麼在文件列表中就不會有這個欄位的值,使用者的搜尋結果中不會顯示出來。
但是在elasticsearch中,即便store設定為false,也可以搜尋到結果。
原因是elasticsearch在建立文件索引時,會將文件中的原始資料備份,儲存到乙個叫做_source
的屬性中。而且我們可以通過過濾_source
來選擇哪些要顯示,哪些不顯示。
而如果設定store為true,就會在_source
以外額外儲存乙份資料,多餘,因此一般我們都會將store設定為false,事實上,store的預設值就是false。
2.5.3.4.boost
激勵因子,這個與lucene中一樣
elasticsearch 動態對映
來確定欄位的資料型別並自動把新的字段新增到型別對映。有時這是想要的行為有時又不希望這樣。通常沒有人知道以後會有什麼新字段加到文件,但是又希望這些欄位被自動的索引。也許你只想忽略它們。如果elasticsearch是作為重要的資料儲存,可能就會期望遇到新字段就會丟擲異常,這樣能及時發現問題。幸運的是可...
ElasticSearch 型別對映
當檢視索引裡的資料,我們意識到一些奇怪的東西。有些事情看起來有問題,我們在索引裡有12個tweets,只有1個包含date 2014 09 15 現在讓我們看看這些查詢。get search?q 2014 12 results get search?q 2014 09 15 12 results g...
elasticsearch 動態對映
put my index stash 如果遇到新字段,物件 my type 就會丟擲異常。而內部物件 stash 遇到新字段就會動態建立新字段。使用上述動態對映,你可以給 stash 物件新增新的可檢索的字段 put my index my type 1 但是對根節點物件 my type 進行同樣的...