# Key of Elasticsearch

**URL:** <https://discuss.elastic.co/t/key-of-elasticsearch/52406>\
**Category:** Elasticsearch\
**Created:** [June 10, 2016, 5:37am UTC](https://discuss.elastic.co/t/key-of-elasticsearch/52406 "2016-06-10T05:37:50Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![wldbs0508](https://avatars.discourse-cdn.com/v4/letter/w/cab0a1/32.png) [@wldbs0508](https://discuss.elastic.co/u/wldbs0508)\
**Post date:** [June 10, 2016, 5:37am UTC](https://discuss.elastic.co/t/key-of-elasticsearch/52406/1 "2016-06-10T05:37:50Z")

</div>

Hi,  
I would like to connect my DB with ES through Logstash. My DB doesn't have one unique key but has multiple columns as key. For example, if DB has A, B, C, and D columns and combination of A, B, and C are unique. However, value of each column (A, B, and C) can be duplicated.  
or  
In case of JSON file, it doesn't have unique key attribution but has combination of multiple attribution as key (Same as DB case).

How can I index these case of DB or JSON file into ES? If someone have any idea of this, please let me know as soon as possible because I should finish my project...  
Thanks,

---

<div class="post-metadata">

**Author:** ![JoarSvensson](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/joarsvensson/32/8740_2.png) [@JoarSvensson](https://discuss.elastic.co/u/JoarSvensson)\
**Post date:** [June 13, 2016, 9:32am UTC](https://discuss.elastic.co/t/key-of-elasticsearch/52406/2 "2016-06-13T09:32:42Z")

</div>

You will need to combine (concatenate) different fields using a filter in the Logstash pipeline processing. Be aware of potential performance decrease depending on how your new ids will look like.

---

<div class="post-metadata">

**Author:** ![wldbs0508](https://avatars.discourse-cdn.com/v4/letter/w/cab0a1/32.png) [@wldbs0508](https://discuss.elastic.co/u/wldbs0508)\
**Post date:** [June 13, 2016, 11:26pm UTC](https://discuss.elastic.co/t/key-of-elasticsearch/52406/3 "2016-06-13T23:26:03Z")

</div>

Thank you for your help. I have another question. Two documents which are in different types but same index can have same unique id? For example,  
Type A  
Document: "id":"abc", ...  
Type B  
Document: "id":"abc", ...

---

<div class="post-metadata">

**Author:** ![JoarSvensson](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/joarsvensson/32/8740_2.png) [@JoarSvensson](https://discuss.elastic.co/u/JoarSvensson)\
**Post date:** [June 15, 2016, 12:31pm UTC](https://discuss.elastic.co/t/key-of-elasticsearch/52406/4 "2016-06-15T12:31:39Z")

</div>

No worries!

No it's not possible to my knowledge. Anyhow I guess it's good to avoid it for obvious reasons.

---

<div class="post-metadata">

**Author:** ![Mark\_Harwood](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mark_harwood/32/10538_2.png) [@Mark\_Harwood](https://discuss.elastic.co/u/Mark_Harwood)\
**Post date:** [June 15, 2016, 3:51pm UTC](https://discuss.elastic.co/t/key-of-elasticsearch/52406/5 "2016-06-15T15:51:13Z")

</div>

> [@JoarSvensson](#):
>
> it's not possible to my knowledge.

IDs are unique within a type and index. These are different docs but both have an ID of "1":

```
DELETE test
PUT test/foo/1
{
    "msg":"Hello"
}
PUT test/bar/1
{
    "msg":"goodbye"
}
GET test/bar/1
GET test/foo/1

```

---

<div class="post-metadata">

**Author:** ![JoarSvensson](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/joarsvensson/32/8740_2.png) [@JoarSvensson](https://discuss.elastic.co/u/JoarSvensson)\
**Post date:** [June 16, 2016, 6:32am UTC](https://discuss.elastic.co/t/key-of-elasticsearch/52406/6 "2016-06-16T06:32:28Z")

</div>

Great to know Mark! Thanks for pointing it out!

---

<div class="post-metadata">

**Author:** ![wldbs0508](https://avatars.discourse-cdn.com/v4/letter/w/cab0a1/32.png) [@wldbs0508](https://discuss.elastic.co/u/wldbs0508)\
**Post date:** [June 16, 2016, 4:55pm UTC](https://discuss.elastic.co/t/key-of-elasticsearch/52406/7 "2016-06-16T16:55:01Z")

</div>

Thank you so much. It is very helpful!

---

<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:** [July 5, 2017, 10:43pm UTC](https://discuss.elastic.co/t/key-of-elasticsearch/52406/8 "2017-07-05T22:43:11Z")

</div>


