# Elasticsearch data dictionary

**URL:** <https://discuss.elastic.co/t/elasticsearch-data-dictionary/85440>\
**Category:** Elasticsearch\
**Created:** [May 11, 2017, 3:35pm UTC](https://discuss.elastic.co/t/elasticsearch-data-dictionary/85440 "2017-05-11T15:35:50Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![eirc](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/eirc/32/11769_2.png) [@eirc](https://discuss.elastic.co/u/eirc)\
**Post date:** [May 11, 2017, 3:35pm UTC](https://discuss.elastic.co/t/elasticsearch-data-dictionary/85440/1 "2017-05-11T15:35:50Z")

</div>

After loading lots of data and lots of fields on the Elastic Stack it starts becoming very difficult for users (especially non-IT) to keep track of what each field actually represents. Essentially what's needed is a [Data Dictionary](https://en.wikipedia.org/wiki/Data_dictionary).

This could be totally separate from the Elastic Stack but it would be awesome if the stack provided it.

Maybe there's already some way to "hack" something like that in? If not, what solutions do people use to solve this problem?

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [May 13, 2017, 4:46am UTC](https://discuss.elastic.co/t/elasticsearch-data-dictionary/85440/2 "2017-05-13T04:46:30Z")

</div>

> [@eirc](#):
>
> it would be awesome if the stack provided it

I'd be interested in how you think this might be possible for the stack to provide it? It's not a bad idea, but ultimately ES relies on the you, the user, to define things based on your use case and domain knowledge.

---

<div class="post-metadata">

**Author:** ![eirc](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/eirc/32/11769_2.png) [@eirc](https://discuss.elastic.co/u/eirc)\
**Post date:** [May 13, 2017, 2:37pm UTC](https://discuss.elastic.co/t/elasticsearch-data-dictionary/85440/3 "2017-05-13T14:37:54Z")

</div>

I feel the most natural place for this would be mappings. One could provide a description field along with the type or whatever else they want to specify. This could be then retrieved by Kibana and displayed in a popup over a question mark or something next to the field.

This could probably be implemented as a plugin too by using an ES index for storing the description data and hacking access to them on various parts of Kibana.

EDIT:

I found a few related issues that ask for the type's [`_meta`](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-fields.html#_other_meta_field) field to be added on the field level but they all seem to have been rejected one way or another:

- [Issue #2857 - Allow \_meta in mappings on a field level](https://github.com/elastic/elasticsearch/issues/2857)
- [Issue #2949 - Allow \_meta (or any other annotation mechanism) for all mapping properties not just for the mapping itself](https://github.com/elastic/elasticsearch/issues/2949)
- [Issue #3131 - Feature Request: meta per property/field in mapping](https://github.com/elastic/elasticsearch/issues/3131)
- [Pull #5607 - add \_meta for all mapping fields](https://github.com/elastic/elasticsearch/pull/5607)

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [May 14, 2017, 5:13am UTC](https://discuss.elastic.co/t/elasticsearch-data-dictionary/85440/4 "2017-05-14T05:13:08Z")

</div>

Ahh ok that makes sense.  
I guess in that case it's really just another field:value, and it'd be up to the client (ie KB) to correctly render it.

---

<div class="post-metadata">

**Author:** ![eirc](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/eirc/32/11769_2.png) [@eirc](https://discuss.elastic.co/u/eirc)\
**Post date:** [May 14, 2017, 1:59pm UTC](https://discuss.elastic.co/t/elasticsearch-data-dictionary/85440/5 "2017-05-14T13:59:07Z")

</div>

Uhmm which one makes sense? The mappings support, the plugin or \_meta for fields?

I started looking around for info regarding Kibana plugins and it seems that messing around with the Discover app's UI will have some caveats as mentioned in this [thread](https://discuss.elastic.co/t/inject-front-end-code-into-discover-from-custom-plugin/72871). I'm still not sure though, so I'll probably have to look more into how they work.

---

<div class="post-metadata">

**Author:** ![warkolm](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/warkolm/32/39224_2.png) [@warkolm](https://discuss.elastic.co/u/warkolm)\
**Post date:** [May 14, 2017, 8:08pm UTC](https://discuss.elastic.co/t/elasticsearch-data-dictionary/85440/6 "2017-05-14T20:08:42Z")

</div>

> [@eirc](#):
>
> Uhmm which one makes sense? The mappings support, the plugin or \_meta for fields?

Your general requirement.

---

<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:** [June 11, 2017, 8:11pm UTC](https://discuss.elastic.co/t/elasticsearch-data-dictionary/85440/7 "2017-06-11T20:11:11Z")

</div>

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