Mapping Data to Elasticsearch Data Types

This section describes how to map MapR-DB data to Elasticsearch data types other than string.

Data in MapR-DB binary tables is stored as byte arrays. When data is replicated to an index in Elasticsearch, the gateways can convert your source data to Elasticsearch data types in three different ways.

By default, MapR-DB assumes that source data is UTF-8 encoded, and gateways convert the source data to strings. If you use this default conversion, you do not have to create destination indexes with the Elasticsearch API before loading them and replicating to them. However, your applications might require your data to be in other data types.

Instead of this default conversion, you can use two different methods of converting data to Elasticsearch data types.

Warning: If you use the default conversion of source MapR-DB data to strings, ensure that automatic date-type detection and automatic numeric-type detection are disabled in your Elasticsearch cluster. Otherwise, Elasticsearch might detect data types in the strings and subsequently expect those data types in your data, not strings. Because you would not have set up conversion of your source data to other data types, MapR gateways would continue to send strings to Elasticsearch, which would then throw an error and stop indexing.