which ends up with both a "$/event/content" field and a "content" field. I am concerned about the amount of space used, because this property will tend to have large values.
I added "managed-id='false'" to the mapping, and now I get a single "content" field, which is what I want. I also found that the time to index an object went down dramatically.
My question is, am I doing this correctly? What are the side-effects of turning off the managed-id? Is it expected that Compass will create a managed-id simply because the property is stored compressed inside the index?
Compass created a managed id for the content meta data because somewhere within the root mapping (and its component mappings) there is another content meta data. In order for Compass to properly un-marshall the data from the index back into an Object, it has to create an internal representation of it.
My guess is that you do not have another content meta-data in your mapping, and it is simply a bug in Compass. Compass checks for the meta-data to be stored, but it also needs to check if it is compressed, and then not create an internal meta-data for it.
For now, if you have a single content mapping, setting the managed-id to false will be ok. If you have another one, then setting the managed id to false will mean that the un-marshalling will get messed up.
I have created Jira issue CMP-367, and I will fix it.