Hi,

I recently upgraded my app to Jackson2.  Historically we had been indexing 
our rest model objects, since they're pretty well structured and make 
querying much easier.  In our Jackson2 POJOs we use a className identifier 
to mark our objects, like this:

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = 
JsonTypeInfo.As.PROPERTY, property = "className")
@JsonIgnoreProperties(ignoreUnknown=true)

The position in our structure is mapped as an interface, and includes 
appropriate 

Now that we're indexing them with Jackson2, I've started seeing this 
exception whenever a record is stored (but only after a few are 
successfully added)

failed to parse [fields.creator.value.value]: 
org.elasticsearch.index.mapper.MapperParsingException: failed to parse 
[fields.creator.value.value]
at 
org.elasticsearch.index.mapper.core.AbstractFieldMapper.parse(AbstractFieldMapper.java:414)
 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.index.mapper.object.ObjectMapper.serializeObject(ObjectMapper.java:549)
 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.index.mapper.object.ObjectMapper.parse(ObjectMapper.java:491) 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.index.mapper.object.ObjectMapper.serializeObject(ObjectMapper.java:549)
 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.index.mapper.object.ObjectMapper.parse(ObjectMapper.java:491) 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.index.mapper.object.ObjectMapper.serializeObject(ObjectMapper.java:549)
 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.index.mapper.object.ObjectMapper.parse(ObjectMapper.java:491) 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.index.mapper.object.ObjectMapper.serializeObject(ObjectMapper.java:549)
 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.index.mapper.object.ObjectMapper.parse(ObjectMapper.java:491) 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:542) 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.index.mapper.DocumentMapper.parse(DocumentMapper.java:491) 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.index.shard.service.InternalIndexShard.prepareIndex(InternalIndexShard.java:397)
 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:191)
 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:535)
 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction$1.run(TransportShardReplicationOperationAction.java:434)
 
[elasticsearch-1.3.4.jar:]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
[rt.jar:1.8.0_20]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[rt.jar:1.8.0_20]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_20]
Caused by: org.elasticsearch.ElasticsearchIllegalArgumentException: unknown 
property [className]
at 
org.elasticsearch.index.mapper.core.StringFieldMapper.parseCreateFieldForString(StringFieldMapper.java:328)
 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.index.mapper.core.StringFieldMapper.parseCreateField(StringFieldMapper.java:274)
 
[elasticsearch-1.3.4.jar:]
at 
org.elasticsearch.index.mapper.core.AbstractFieldMapper.parse(AbstractFieldMapper.java:404)
 
[elasticsearch-1.3.4.jar:]
... 17 more

This is what that section of the JSON looks like:
"fields": [
...,
"creator": {
      "className": "BasicField",
      "fieldName": "creator",
      "fieldType": "person",
      "value": {
        "className": "PersonType",
        "value": {
          "className": "PersonId",
          "id": 262,
          "organizationId": 0
        }
      }
    },
...
]

So, is there anything I can do from mapping to fix this?

John

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/4f3546a7-0c0a-447e-91bf-f7843adc751f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to