I am quite new to elasticsearch, excuse me if this has been answered before. Could not find the answer in the docs.
I am logging some user-generated data to elasticsearch (browser fingerprint object generated by fingerprint2.js). I have disabled dynamic mapping for the index and only enabled mappings for standardized fields.
The problem is that different browsers may generate slightly different fingerprint structure, which makes elasticsearch throw something like:
mapper_parsing_exception: failed to parse field of type [long] in document with id '...'
Which probably means a type conflict.
Since I have disabled dynamic mapping, I was expecting that elasticsearch would not map and/or index those fields and would not complain about type conflicts.
Is there any way to get elasticsearch accept this data (besides storing entire object in some serialized format)?
there is an ignore_malformed option in the mapping for a datatype allowing you to ignore such issues (which still means that the field is not searchable).
Does getting a type conflict mean that elasticsearch is trying to index the field? I don't have a mapping setup for this field and I have set dynamic mapping to "off" with a hope that only explicitly defined fields would be indexed.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.