Open krishkoneru opened 6 years ago
Yes, in elassandra, data are persisted in cassandra (not more in elasticsearch) and indexing a document containing a field not mapped to cassandra will cause a data loss, this is the reason why an exception is thrown.
If you really need such feature, it could be improve to accept such request when _source is enable, because in this case, the full JSON document would be also stored in a dedicated cassandra column (this of course introduce an overhead).
Elassandra version: Elassandra 5.5.0.13 Plugins installed: [None]
JVM version: java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
OS version: Debian Jessie Docker Container running in CoreOs
Description of the problem including expected versus actual behavior:
Elassandra rejects all writes that contain any extra fields when dynamic mapping is disabled.
Expected Elassandra should accept writes and only index the fields specified in the mappings. https://www.elastic.co/guide/en/elasticsearch/reference/5.5/dynamic.html
Steps to reproduce:
{"acknowledged":true,"shards_acknowledged":true}
~ $ curl -XPUT localhost:9200/dynamicmappingtest/friends/1 -d '
~ $ curl -H 'Content-Type: application/json' -XPUT localhost:9200/dynamicmappingtest/friends/2 -d '
curl -XPUT -H 'Content-Type: application/json' localhost:9200/dynamicmappingtest -d ' {
curl -H 'Content-Type: application/json' -XPUT localhost:9200/dynamicmappingtest/friends/1 -d '
curl -H 'Content-Type: application/json' -XPUT localhost:9200/dynamicmappingtest/friends/2 -d '