In a limited fashion you can extract fields using scripted fields and painless. In this case I wouldn't recommend it, there's an overhead at runtime for every query and we most likely want to parse out the entire message. docs
Parse at index time using ingest node in elasticsearch. With ingest node, you can use the grok processor that will parse out the message into json fields. This more or less is a regular expression. docs
Parse with logstash grok filters. This is similar to step 2, except it happens in logstash. docs
I'd recommend 2 if you don't have a logstash install. You'll need to create a pipeline, and when indexing tell your index command to use that pipeline.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.