Hi all,
  I am trying out the _id mapping path feature, described here: 
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-id-field.html

  It works well, though I think I've noticed a limitation (or bug).  In my 
project, we allow mappings to be changed over time.  The problem I'm seeing 
is that the _id path doesn't seem to change once it is created.  I cannot 
change or remove it.  Further, elasticsearch does not return an error when 
I attempt this.  A couple of thoughts: (1) if this is a legitimate 
limitation, then please note this on the reference page I mentioned above, 
and (2) when a user attempts this, elastic should return an error (with 
readable description) rather than returning a success code & message.  Even 
better would be to enable this feature, and allow the path to be updated.  
Perhaps that's a feature request, not a bug?

  I searched the issues on github and in this group, and didn't see this 
limitation mentioned.  If anyone could shed some light, please let me 
know.  Perhaps I'm not using it correctly.

  Here are the steps to demonstrate.  I've tried this on 1.3.1 and 1.3.4.

curl -XDELETE localhost:9200/index1

curl -XPUT localhost:9200/index1

curl -XPOST localhost:9200/index1/tweet/_mapping -d '
{
    "tweet" : {
        "dynamic": "strict",
        "properties" : {
            "message" : {"type" : "string" }
        },
        "_id": {
          "path": "post_id"
        }
    }
}'

curl -XGET localhost:9200/index1/tweet/_mapping?pretty

curl -XPOST localhost:9200/index1/tweet/_mapping -d '
{
    "tweet" : {
        "dynamic": "strict",
        "properties" : {
            "message" : {"type" : "string" }
        },
        "_id": {
          "path": "changed"
        }
    }
}'

curl -XGET localhost:9200/index1/tweet/_mapping?pretty

The 2nd POST returns  *"acknowledged": true*  even though the change of the 
_id path was not actually effective.  You can verify this by observing the 
2nd GET, i.e., it will still return  *"path": "post_id"* .

Note that the use of "dynamic":"strict" does not seem to change the outcome.

Thanks for your help!
-Ryan


-- 
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/9b795608-f1dd-45ab-8177-c9dbb1df200b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to