# How to filter when dynamic index has no value

**URL:** https://discuss.elastic.co/t/how-to-filter-when-dynamic-index-has-no-value/271166
**Category:** Logstash
**Tags:** docker
**Created:** [April 25, 2021, 3:35am UTC](https://discuss.elastic.co/t/how-to-filter-when-dynamic-index-has-no-value/271166 "2021-04-25T03:35:04Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![ktpktr0](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ktpktr0/32/87157_2.png) [@ktpktr0](https://discuss.elastic.co/u/ktpktr0)
#### Post date: [April 25, 2021, 3:35am UTC](https://discuss.elastic.co/t/how-to-filter-when-dynamic-index-has-no-value/271166/1 "2021-04-25T03:35:04Z")

</div>

I use the label in the docker metadata to build an index dynamically. When the label of some containers does not exist or the value is empty, I get two indexes at the same time. How can I solve this problem  
 ![QQ图片20210425113304](https://us1.discourse-cdn.com/elastic/original/3X/6/0/60deac02a596eb8de4ecc66446302f04524ae0ef.png)

Logstash configuration

```auto
output {
    elasticsearch {
        hosts => ["192.168.6.195:9200"]
        index => "%{[container][labels][service]}-%{+YYYY.MM.dd}"
    }
}

```

---

<div class="post-metadata">

### Author: ![leandrojmp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/leandrojmp/32/107231_2.png) [@leandrojmp](https://discuss.elastic.co/u/leandrojmp)
#### Post date: [April 25, 2021, 3:55am UTC](https://discuss.elastic.co/t/how-to-filter-when-dynamic-index-has-no-value/271166/2 "2021-04-25T03:55:06Z")

</div>

You need to check if the field exists.

```auto
output {
    if [container][labels][service] {
        elasticsearch {
            hosts => ["192.168.6.195:9200"]
            index => "%{[container][labels][service]}-%{+YYYY.MM.dd}"
        }
    } else if {
        elasticsearch {
            hosts => ["192.168.6.195:9200"]
            index => "index-name-%{+YYYY.MM.dd}"
        }
    }
}

```

---

<div class="post-metadata">

### Author: ![ktpktr0](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ktpktr0/32/87157_2.png) [@ktpktr0](https://discuss.elastic.co/u/ktpktr0)
#### Post date: [April 25, 2021, 4:04am UTC](https://discuss.elastic.co/t/how-to-filter-when-dynamic-index-has-no-value/271166/3 "2021-04-25T04:04:41Z")

</div>

I've tried the following two methods, but none of them worked

```auto
output {
    if [container][labels][service] != "" {
       elasticsearch {

```

```auto
filter {
     json {
       source => "message"
   }
       ruby {
          code => "
             hash = event.to_hash
             hash.each do |k,v|
                if v == nil
                    event.remove(k)
                 end
             end
             "
    }
}

output {
    elasticsearch {

```

---

<div class="post-metadata">

### Author: ![ktpktr0](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/ktpktr0/32/87157_2.png) [@ktpktr0](https://discuss.elastic.co/u/ktpktr0)
#### Post date: [April 25, 2021, 6:19am UTC](https://discuss.elastic.co/t/how-to-filter-when-dynamic-index-has-no-value/271166/4 "2021-04-25T06:19:24Z")

</div>

I solved the problem. Thank you very much for your help

---

<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: [May 23, 2021, 6:20am UTC](https://discuss.elastic.co/t/how-to-filter-when-dynamic-index-has-no-value/271166/5 "2021-05-23T06:20:16Z")

</div>

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