# DB mapping list fliter

**URL:** <https://discuss.elastic.co/t/db-mapping-list-fliter/359932>\
**Category:** Logstash\
**Created:** [May 21, 2024, 2:40pm UTC](https://discuss.elastic.co/t/db-mapping-list-fliter/359932 "2024-05-21T14:40:58Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![bp365d](https://avatars.discourse-cdn.com/v4/letter/b/2acd7d/32.png) [@bp365d](https://discuss.elastic.co/u/bp365d)\
**Post date:** [May 21, 2024, 2:40pm UTC](https://discuss.elastic.co/t/db-mapping-list-fliter/359932/1 "2024-05-21T14:40:58Z")

</div>

Team-

can you help me in filter sections code,  
index name is :-esp\_test.  
input is sql table(esp\_details) and field names are `hostname` , `BDS_name`.

```auto
hostname BDS_name
---------------------------------------
hostname1 sql23
hostname2 sql36
hostname1 sql47
hostname2 sql25

```

like  
so i want to data be like in one row for hostname1 with all BDS\_name associated.

example  
hostname1 sql23 , sql 47 ---\> in single row(single json)  
hostname2 sql36 , sql25 ---\> in single row(single json).

hope you understand my requirment .

please help me

---

<div class="post-metadata">

**Author:** ![bp365d](https://avatars.discourse-cdn.com/v4/letter/b/2acd7d/32.png) [@bp365d](https://discuss.elastic.co/u/bp365d)\
**Post date:** [May 22, 2024, 5:36am UTC](https://discuss.elastic.co/t/db-mapping-list-fliter/359932/2 "2024-05-22T05:36:44Z")

</div>

i'm beginner of logstash , kindly help me on code

---

<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:** [May 22, 2024, 8:43am UTC](https://discuss.elastic.co/t/db-mapping-list-fliter/359932/3 "2024-05-22T08:43:50Z")

</div>

Welcome!

Please be patient in waiting for responses to your question and refrain from pinging multiple times asking for a response or opening multiple topics for the same question. This is a community forum, it may take time for someone to reply to your question. For more information please refer to the [Community Code of Conduct](https://www.elastic.co/community/codeofconduct) specifically the section "Be patient". Also, please refrain from pinging folks directly, this is a forum and anyone that participates might be able to assist you.

If you are in need of a service with an SLA that covers response times for questions then you may want to consider talking to us about a [subscription](https://www.elastic.co/subscriptions).

It's fine to answer on your own thread after 2 or 3 days (not including weekends) if you don't have an answer.

I can see that you posted that in Logstash. Is that on purpose?  
Or do you want to do this in Elasticsearch?

---

<div class="post-metadata">

**Author:** ![bp365d](https://avatars.discourse-cdn.com/v4/letter/b/2acd7d/32.png) [@bp365d](https://discuss.elastic.co/u/bp365d)\
**Post date:** [May 22, 2024, 8:55am UTC](https://discuss.elastic.co/t/db-mapping-list-fliter/359932/4 "2024-05-22T08:55:52Z")

</div>

in logstash only

---

<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:** [May 22, 2024, 9:23am UTC](https://discuss.elastic.co/t/db-mapping-list-fliter/359932/5 "2024-05-22T09:23:31Z")

</div>

What is your current logstash job file? I mean where do you want to send your data?

---

<div class="post-metadata">

**Author:** ![bp365d](https://avatars.discourse-cdn.com/v4/letter/b/2acd7d/32.png) [@bp365d](https://discuss.elastic.co/u/bp365d)\
**Post date:** [May 22, 2024, 9:36am UTC](https://discuss.elastic.co/t/db-mapping-list-fliter/359932/6 "2024-05-22T09:36:56Z")

</div>

input is

```auto
input {
   jdbc {
         jdbc_driver_class => "Java::oracle.jdbc.driver.OracleDriver"
         jdbc_connection_string => "jdbc:oracle:thin:@ldap://ldap-ldprd.com:5000/cn=OracleContext,dc=cisco,dc=com/SIAPRD"
         jdbc_user => "EDA_CHAIN11"
         jdbc_password => " **** $"
         jdbc_validate_connection => true
         jdbc_fetch_size => "20000"
         statement => "select * from ESP_BUSINESS_DATABASE_SERVER_DBTS_V"

   }
}

```

output is

```auto
output {
elasticsearch {
        hosts => "url of elasticsearch with port number"
        index => "esp_test"
  }

  stdout {}

}

```

---

<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:** [May 22, 2024, 9:56am UTC](https://discuss.elastic.co/t/db-mapping-list-fliter/359932/7 "2024-05-22T09:56:06Z")

</div>

So what is the goal of changing from this:

```auto
hostname BDS_name
---------------------------------------
hostname1 sql23
hostname2 sql36
hostname1 sql47
hostname2 sql25

```

to this:

```auto
hostname1 sql23 , sql 47
hostname2 sql36 , sql25

```

---

<div class="post-metadata">

**Author:** ![bp365d](https://avatars.discourse-cdn.com/v4/letter/b/2acd7d/32.png) [@bp365d](https://discuss.elastic.co/u/bp365d)\
**Post date:** [May 22, 2024, 10:05am UTC](https://discuss.elastic.co/t/db-mapping-list-fliter/359932/8 "2024-05-22T10:05:32Z")

</div>

we have to list out the BDS names in one row for hostnames, so that we can easily identify that BDS names for every host.

example for below screenshot

 ![image](https://us1.discourse-cdn.com/elastic/original/3X/e/9/e9d33faf98c7814491fbfe59cd4add44f3e1ae62.png)

---

<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:** [May 22, 2024, 10:10am UTC](https://discuss.elastic.co/t/db-mapping-list-fliter/359932/9 "2024-05-22T10:10:53Z")

</div>

So you want to group the result by the hostnames?  
You can do that at search time instead I believe.

---

<div class="post-metadata">

**Author:** ![bp365d](https://avatars.discourse-cdn.com/v4/letter/b/2acd7d/32.png) [@bp365d](https://discuss.elastic.co/u/bp365d)\
**Post date:** [May 22, 2024, 10:11am UTC](https://discuss.elastic.co/t/db-mapping-list-fliter/359932/10 "2024-05-22T10:11:34Z")

</div>

yes, 🙂

---

<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:** [May 22, 2024, 10:27am UTC](https://discuss.elastic.co/t/db-mapping-list-fliter/359932/11 "2024-05-22T10:27:31Z")

</div>

Just drag the hostname field on your Kibana lens visualization.

Or better, try the new [ES|QL feature](https://www.elastic.co/guide/en/elasticsearch/reference/current/esql.html):

```auto
from esp_test
| stats count = count() by hostname
| limit 1000

```

See also [Using ES|QL in Kibana | Elasticsearch Guide [8.13] | Elastic](https://www.elastic.co/guide/en/elasticsearch/reference/current/esql-kibana.html)

---

<div class="post-metadata">

**Author:** ![bp365d](https://avatars.discourse-cdn.com/v4/letter/b/2acd7d/32.png) [@bp365d](https://discuss.elastic.co/u/bp365d)\
**Post date:** [May 22, 2024, 10:35am UTC](https://discuss.elastic.co/t/db-mapping-list-fliter/359932/12 "2024-05-22T10:35:36Z")

</div>

this approach not suites my requirment @dadoonet .

i want to do it this in logstash filter section with code , i thought that we can use two indexes to achieve it .

---

<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:** [May 22, 2024, 11:08am UTC](https://discuss.elastic.co/t/db-mapping-list-fliter/359932/13 "2024-05-22T11:08:36Z")

</div>

May be you can... I'm just wondering what is the need for this if you can achieve the same thing without efforts?

What problem do you think you want to solve with your solution?
