2016-06-24 2 views
1

В моей Logstash у меня ниже конфигурации:Logstash - Преобразование строки в Integer

filter { 
    mutate { 
     add_field => { 
      "doclength" => "%{size}" 
     } 
     convert => {"doclength" => "integer"} 
     remove_field => ["size"] 
    } 
} 

Я намерен сохранить поле "doclength" в ElasticSearch как целое. Но как-то в ES он отображает отображение как «строка».

Не уверен, что я здесь отсутствует, ожидаемое поведение не совпадает с фактическим.

+0

Попробуйте воссоздать свой индекс. Если он создается как строка перед этими изменениями, он будет хранить в виде строки unles, которую вы ее воссоздаете. – alpert

+0

Это был новый индекс. Одна вещь, которую я вижу как проблема, заключается в том, что она связана с новым полем, которое я добавляю и использую для этого функцию преобразования. Если я непосредственно применяю функцию преобразования в поле «размер» и индексирую ее, она отображается как целое. – SuperCoder

ответ

1

Попробуйте этот, он работал на моей машине.

filter { 
    mutate { 
     convert => {"size" => "integer"} 
     rename => { "size" => "doclength" } 
    } 
} 
+0

мой плохой, lol, не видел фото – Exocomp

Смежные вопросы