0

My requirements are simple, I need to index a document in ES with a given ID, in the dev tools I can do so by passing the id in path parameters PUT my-index-000001/_doc/1? when I try to do the same using nodejs API by passing _id ... I get the error mapper_parsing_exception: [mapper_parsing_exception] Reason: Field [_id] is a metadata field and cannot be added inside a document. Use the index API request parameters. the same applies if I try in dev tools too, so how can I set a document _id noting am doing so in order to set a parent:child relationship within the same index like explained here

1 Answer 1

2

Field [_id] is a metadata field and cannot be added inside a document.

If you see above error message, it is clearly indicated that you cannot pass _id into your document body.

You need to provide id outside document body as shown below (this is just example code as you have not provided sample code not sure how you are indexing document):

 client.index({
     index: 'blog',
     id: '1',
     type: 'posts',
     body: {
         "PostName": "Integrating Elasticsearch Into Your Node.js Application",
         "PostType": "Tutorial",
         "PostBody": "This is the text of our tutorial about using Elasticsearch in your Node.js application.",
     }
 }, function(err, resp, status) {
     console.log(resp);
 });
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.