es中有乙個非常重要的特性——動態對映,即索引文件前不需要建立索引、型別等資訊,在索引的同時會自動完成索引、型別、對映的建立。在某個字段第一次出現時,如果之前沒有定義過對映,es會自動檢測它可能滿足的型別,然後建立對應的對映。那麼什麼是對映呢?對映就是描述欄位的型別、如何進行分析、如何進行索引等內容。
本篇就著重講述下,es中對映的自動檢測特性。
json資料
es中的資料型別
null
不會新增字段
true
orfalse
boolean
floating point number
double
integer
long
object
object
array
依賴於第乙個非null得值
string
如果通過了date檢測,則為date
如果通過了numeric檢測,則為number
上面就是型別自動檢測的結果,除了上面列出的基本型別,其他的高階的型別比如geo,ip就需要手動指定了。
日期自動檢測,即date_detection是預設開啟的,因此只要符合預設的日期格式,就可以自動建立成date型別
日期的格式為:
[ "例如:strict_date_optional_time
","yyyy/mm/dd hh:mm:ss z||yyyy/mm/dd z
"]
$ curl -xput localhost:9200/test/test/1 -d '可以通過修改' }}}
}}
dynamic_date_formats
修改日期格式:
put my_index}}數字自動檢測,即numeric_detection預設是關閉的。因此需要手動開啟:put my_index/my_type/1
put my_index當執行索引操作時,如果符合float型,就會自動建立為float}}
long型也是一樣:
elasticsearch 動態對映
來確定欄位的資料型別並自動把新的字段新增到型別對映。有時這是想要的行為有時又不希望這樣。通常沒有人知道以後會有什麼新字段加到文件,但是又希望這些欄位被自動的索引。也許你只想忽略它們。如果elasticsearch是作為重要的資料儲存,可能就會期望遇到新字段就會丟擲異常,這樣能及時發現問題。幸運的是可...
elasticsearch 動態模板
引數 path match path unmatch相反 引數用於匹配物件中字段的完整路徑,比如address.name可以匹配如下字段 curl xput localhost 9200 my index d 新增資料 curl xpost localhost 9200 my index my ty...
elasticsearch 動態對映
put my index stash 如果遇到新字段,物件 my type 就會丟擲異常。而內部物件 stash 遇到新字段就會動態建立新字段。使用上述動態對映,你可以給 stash 物件新增新的可檢索的字段 put my index my type 1 但是對根節點物件 my type 進行同樣的...