Mappings configuration
If you are used to SQL databases, you may know that before you can start inserting the data in the database, you need to create a schema, which will describe what your data looks like. Although Elasticsearch is a schema-less (we rather call it data driven schema) search engine and can figure out the data structure on the fly, we think that controlling the structure and thus defining it ourselves is a better way. The field type determining mechanism is not going to guess the future. For example, if you first send an integer
value, such as 60
, and you send a float
value such as 70.23
for the same field, an error can happen or Elasticsearch will just cut off the decimal part of the float
value (which is actually what happens). This is because Elasticsearch will first set the field type to integer and will try to index the float
value to the integer
field which will cause cutting of the decimal point in the floating point number. In the next few pages you'll see...