Logstash にインポートしようとしているログ ファイルには、日付/時刻のように見えるフィールドとそうでないフィールドが含まれています。残念ながら、最初のオカレンスは日付/時刻のように見え、誰か (logstash または elasticsearch) がフィールドを日付/時刻として定義することにしました。後のログ レコードをインポートしようとすると、Elasticsearch には例外があります。
Failed to execute [index ...]
org.elasticsearch.index.mapper.MapperParsingException: Failed to parse [@fields.field99]
at org.elasticsearch.index.mapper.core.AbstractFieldMapper.parse(AbstractFieldMapper.java:320)
at org.elasticsearch.index.mapper.object.ObjectMapper.serializeValue(ObjectMapper.java:587)
...
Caused by: java.lang.IllegalArgumentException: Invalid format: "empty"
at org.elasticsearch.common.joda.time.format.DateTimeFormatter.parseMillis(DateTimeFormatter.java:747)
...
質問: このフィールドを日付/時刻として定義しないように logstash/elasticsearch に指示するにはどうすればよいですか? ログのすべてのフィールド (1 つの明示的なタイムスタンプ フィールドを除く) を単なるテキストとして定義したいと考えています。
質問: エラスティックサーチが例外をスローするこのレコードを確認した後、logstash がログ ファイルからレコードをインポートしようとするのをあきらめたようです。この例外を無視してログ ファイルから他のレコードのインポートを試行し続けるように logstash に指示するにはどうすればよいですか?