# Retrieve metadata of document in response to queries

**URL:** <https://discuss.elastic.co/t/retrieve-metadata-of-document-in-response-to-queries/208939>\
**Category:** Elasticsearch\
**Created:** [November 21, 2019, 4:47pm UTC](https://discuss.elastic.co/t/retrieve-metadata-of-document-in-response-to-queries/208939 "2019-11-21T16:47:04Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![chari](https://avatars.discourse-cdn.com/v4/letter/c/db5fbb/32.png) [@chari](https://discuss.elastic.co/u/chari)\
**Post date:** [November 21, 2019, 4:47pm UTC](https://discuss.elastic.co/t/retrieve-metadata-of-document-in-response-to-queries/208939/1 "2019-11-21T16:47:04Z")

</div>

I am indexing the text content of a file by using  
res = es.index(index=myIndex,body=jsonDict), where jsonDict is just the text of a pdf file in a json dictionary.  
I am able to query the content and retrieve the relevant text.  
My question is : how do I index the file contents so I could also retrieve file info such as :-  
"file" : {  
"extension" : "pdf",  
"content\_type" : "application/pdf",  
"created" : "2019-10-01T15:28:31.000+0000",  
"last\_modified" : "2019-10-01T15:28:31.000+0000",  
"last\_accessed" : "2019-10-01T15:38:50.000+0000",  
"indexing\_date" : "2019-10-01T15:39:08.055+0000",  
"filesize" : 877861,

and  
"path" : {  
"root" : "4a997482a3826d51751b8e7c01e476c",  
"virtual" : "/P\_GB27980\_20120213.pdf",  
"real" : "/Users/madabhuc/Documents/IR/presto/eval/P\_GB27980\_20120213.pdf"

Do I need to explicitly provide this info when I submit the files to ElasticSearch for indexing ?  
Thanks.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [November 21, 2019, 7:01pm UTC](https://discuss.elastic.co/t/retrieve-metadata-of-document-in-response-to-queries/208939/2 "2019-11-21T19:01:10Z")

</div>

You need to provide what you want to index. The full document that is.

---

<div class="post-metadata">

**Author:** ![chari](https://avatars.discourse-cdn.com/v4/letter/c/db5fbb/32.png) [@chari](https://discuss.elastic.co/u/chari)\
**Post date:** [November 21, 2019, 7:31pm UTC](https://discuss.elastic.co/t/retrieve-metadata-of-document-in-response-to-queries/208939/3 "2019-11-21T19:31:22Z")

</div>

The background is that I am trying to index pages of a pdf document which is currently not supported by fscrawler. So I am trying to interface with ElasticSearch by myself.  
It is not clear to me how you are providing the file to ES : are you writing the tika output to a file and then sending it to ES ?

Thanks for your help.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [November 21, 2019, 7:57pm UTC](https://discuss.elastic.co/t/retrieve-metadata-of-document-in-response-to-queries/208939/4 "2019-11-21T19:57:53Z")

</div>

From which language? Java?

---

<div class="post-metadata">

**Author:** ![chari](https://avatars.discourse-cdn.com/v4/letter/c/db5fbb/32.png) [@chari](https://discuss.elastic.co/u/chari)\
**Post date:** [November 21, 2019, 9:10pm UTC](https://discuss.elastic.co/t/retrieve-metadata-of-document-in-response-to-queries/208939/5 "2019-11-21T21:10:10Z")

</div>

python

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [November 22, 2019, 1:26pm UTC](https://discuss.elastic.co/t/retrieve-metadata-of-document-in-response-to-queries/208939/6 "2019-11-22T13:26:29Z")

</div>

In `jsonDict` you should provide the full JSON content, including the metadata and the extracted text.

---

<div class="post-metadata">

**Author:** ![chari](https://avatars.discourse-cdn.com/v4/letter/c/db5fbb/32.png) [@chari](https://discuss.elastic.co/u/chari)\
**Post date:** [November 22, 2019, 3:04pm UTC](https://discuss.elastic.co/t/retrieve-metadata-of-document-in-response-to-queries/208939/7 "2019-11-22T15:04:25Z")

</div>

including filesize ? How do I know path.root as in the example ?

" path" : {  
"root" : "4a997482a3826d51751b8e7c01e476c",  
"virtual" : "/P\_GB27980\_20120213.pdf",  
"real" : "/Users/madabhuc/Documents/IR/presto/eval/P\_GB27980\_20120213.pdf"  
....  
}

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [November 22, 2019, 4:08pm UTC](https://discuss.elastic.co/t/retrieve-metadata-of-document-in-response-to-queries/208939/8 "2019-11-22T16:08:40Z")

</div>

You send whatever you want to index. If this data is not needed, don't send it.  
I have hard time to understand what your actual problem is.

---

<div class="post-metadata">

**Author:** ![chari](https://avatars.discourse-cdn.com/v4/letter/c/db5fbb/32.png) [@chari](https://discuss.elastic.co/u/chari)\
**Post date:** [November 22, 2019, 4:33pm UTC](https://discuss.elastic.co/t/retrieve-metadata-of-document-in-response-to-queries/208939/9 "2019-11-22T16:33:23Z")

</div>

When I look at the output in response to a query, I see not just the content, but also data such as "path" as seen above. I understand that I have to pass in whatever data that I want to be seen in a query result. It is not clear to me how i would know the value of "root" as an example. or can i assume that such data is generated automatically by ES.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [November 22, 2019, 4:52pm UTC](https://discuss.elastic.co/t/retrieve-metadata-of-document-in-response-to-queries/208939/10 "2019-11-22T16:52:22Z")

</div>

No data is generated automatically.

---

<div class="post-metadata">

**Author:** ![chari](https://avatars.discourse-cdn.com/v4/letter/c/db5fbb/32.png) [@chari](https://discuss.elastic.co/u/chari)\
**Post date:** [November 22, 2019, 5:22pm UTC](https://discuss.elastic.co/t/retrieve-metadata-of-document-in-response-to-queries/208939/11 "2019-11-22T17:22:50Z")

</div>

id is, that's why i wanted to clarify.  
So how do you know the value of "root" ?

Many Thanks.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [November 22, 2019, 6:39pm UTC](https://discuss.elastic.co/t/retrieve-metadata-of-document-in-response-to-queries/208939/12 "2019-11-22T18:39:15Z")

</div>

I don't know.

I can tell you how FSCrawler computes all that but that's another story. It's all FSCrawler internals.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [December 20, 2019, 6:39pm UTC](https://discuss.elastic.co/t/retrieve-metadata-of-document-in-response-to-queries/208939/13 "2019-12-20T18:39:19Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
