Elasticsearch mapping映射文件設置沒有生效
問題背景
咱們通常會預先建立 Elasticsearch index的 mapping.properties 文件(相似於MySQL中的表結構定義),app
mapping.properties 文件中定義了Elasticsearch索引設計到的字段及屬性,通常爲鍵值對格式 key=value。ui
key:定義每一個字段的名稱spa
value:定義字段的屬性(好比:integer,string,long,float,double,date等)debug
舉例以下:設計
uuid=string索引
name=stringstring
可是,有時會發現,最終獲取到的索引的mapping關係,並不是預先定義的。(意味着事先定義的mapping文件設置沒有生效)ast
緣由分析
多是因爲手誤,在value後多了若干個空格,而程序中又沒有使用 trim() 方法對value進行去空格處理。class
在debug程序的時候,會發現致使相似以下報錯:date
No handler for type [string ] declared on field [fieldName]
此處意味着value值後有空格存在。
此時,只須要把 mapping.properties 文件中,存在的多餘空格去除便可。