# Пустые поля

**URL:** <https://discuss.elastic.co/t/topic/250335>\
**Category:** Вопросы на русском языке\
**Created:** [September 29, 2020, 10:23am UTC](https://discuss.elastic.co/t/topic/250335 "2020-09-29T10:23:36Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![artem33region](https://avatars.discourse-cdn.com/v4/letter/a/f07891/32.png) [@artem33region](https://discuss.elastic.co/u/artem33region)\
**Post date:** [September 29, 2020, 10:23am UTC](https://discuss.elastic.co/t/topic/250335/1 "2020-09-29T10:23:36Z")

</div>

Всем добрый день, есть пустые поля, которые нужно заполнить например нулями, вот только как сделать условие проверки на пустое поле? Поля не все пустые, тип поля number.  
Пробовал разные проверки - ничего не выходит...  
Заранее спасибо!

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [September 29, 2020, 2:51pm UTC](https://discuss.elastic.co/t/topic/250335/2 "2020-09-29T14:51:07Z")

</div>

Есть много разных способов. Можно через logstash, например, пропустить. Можно missing в агрегациях настроить чтобы 0 выдавали. Проще всего пропустить через [процессор `set`](https://www.elastic.co/guide/en/elasticsearch/reference/master/set-processor.html) с `"override": false`.

---

<div class="post-metadata">

**Author:** ![artem33region](https://avatars.discourse-cdn.com/v4/letter/a/f07891/32.png) [@artem33region](https://discuss.elastic.co/u/artem33region)\
**Post date:** [September 30, 2020, 8:16am UTC](https://discuss.elastic.co/t/topic/250335/3 "2020-09-30T08:16:10Z")

</div>

Данные идут через logstash, но как я не пробовал поставить условие - ничего не получается, пробовал фильтром Mutate.

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [September 30, 2020, 6:03pm UTC](https://discuss.elastic.co/t/topic/250335/4 "2020-09-30T18:03:25Z")

</div>

Давайте разбираться. Как выглядят ваши условия?

---

<div class="post-metadata">

**Author:** ![artem33region](https://avatars.discourse-cdn.com/v4/letter/a/f07891/32.png) [@artem33region](https://discuss.elastic.co/u/artem33region)\
**Post date:** [October 1, 2020, 5:29am UTC](https://discuss.elastic.co/t/topic/250335/5 "2020-10-01T05:29:20Z")

</div>

Вот два условия:

```auto
  if ![originalCalledPartyNumber] {
    mutate {
      gsub => ["originalCalledPartyNumber", "", "111111111111111111"]
    }
  }

  if "[0-9]" not in [originalCalledPartyNumber] {
    mutate {
      gsub => ["originalCalledPartyNumber", "^$", "111111111111111111"]
    }
  }

```

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [October 1, 2020, 3:16pm UTC](https://discuss.elastic.co/t/topic/250335/6 "2020-10-01T15:16:31Z")

</div>

А если так:

```auto
if ![originalCalledPartyNumber] {
    mutate {
      add_field => { "originalCalledPartyNumber" => "111111111111111111"}
    }
 }

```

---

<div class="post-metadata">

**Author:** ![artem33region](https://avatars.discourse-cdn.com/v4/letter/a/f07891/32.png) [@artem33region](https://discuss.elastic.co/u/artem33region)\
**Post date:** [October 2, 2020, 6:44am UTC](https://discuss.elastic.co/t/topic/250335/7 "2020-10-02T06:44:12Z")

</div>

Таким способом logstash добавляет второе значение в поле originalCalledPartyNumber и на выходе получается вот так [originalCalledPartyNumber] = , 111111111111111111  
Я сделал так:

```auto
if ![originalCalledPartyNumber] {
    mutate {
      remove_field => ["originalCalledPartyNumber"]
    }
    mutate {
      add_field => { "originalCalledPartyNumber" => "0"}
    }
 }

```

При таком подходе, стало так [originalCalledPartyNumber] = 0

Типа работает как нужно, всё равно - ощущение какого то костыля))

Игорь, спасибо большое!

---

<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:** [October 30, 2020, 6:44am UTC](https://discuss.elastic.co/t/topic/250335/8 "2020-10-30T06:44:19Z")

</div>

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