我有一個包含大量數據的JSON。現在,所有的字段每次都沒有固定類型的數據。例如,某些Ids
有時會顯示爲完美整數,如123
,但有時候它會顯示爲String
,如a123
。ElasticSearch中的部分類型映射
默認情況下,index.mapper.dynamic
是true
。因此,類型映射會根據首次收到的索引(While creating the index for first set of JSON data)
的數據自動定義。現在我們假設,我的第一組數據的Id
值爲123
,因此Id
的類型映射爲Integer
。因此,當某些數據的Id
爲String
(如a123
)時,它會拋出異常,因爲該類型映射到Integer
。
我們可以通過將index.mapper.dynamic: false
放入elasticsearch.yml
來關閉動態類型映射。但它會禁用所有字段的類型映射。我想要有Partial Type Mapping
。對於一些字段,如date
,我想以特定格式爲datetime
進行類型映射。
所以我的目標是隻實現JSON數據的幾個字段的類型映射。因此,如果JSON中有20個字段,那麼我打擾4個字段的類型,如果其他16個字段被認爲是String,那麼我也可以。
有什麼辦法可以實現這種局部類型映射嗎?我正在使用Java客戶端。