Scripted fields
Scripted fields compute data on the fly from the data in your Elasticsearch indices. The data is shown on the Discover tab as part of the document data, and you can use scripted fields in your visualizations. You query scripted fields with the Kibana query language, and can filter them using the filter bar. The scripted field values are computed at query time, so they aren’t indexed and cannot be searched using the Kibana default query language.
Computing data on the fly with scripted fields can be very resource intensive and can have a direct impact on Kibana performance. Keep in mind that there’s no built-in validation of a scripted field. If your scripts are buggy, you’ll get exceptions whenever you try to view the dynamically generated data.
When you define a scripted field in Kibana, you have a choice of scripting languages. In 5.0 and later, the default options are Lucene expressions and Painless. While you can use other scripting languages if you enable dynamic scripting for them in Elasticsearch, this is not recommended because they cannot be sufficiently sandboxed.
In 5.0 and later, Groovy, JavaScript, and Python scripting are deprecated and unsupported.
You can reference any single value numeric field in your expressions, for example:
doc['field_name'].value
For more information on scripted fields and additional examples, refer to Using Painless in Kibana scripted fields
Create a scripted field
- Open the menu, then go to Stack Management > Kibana > Index Patterns
- Select the index pattern you want to add a scripted field to.
- Go to the Scripted fields tab for the index pattern, then click Add scripted field.
- Enter a name for the scripted field.
- Enter the expression that you want to use to compute a value on the fly from your index data.
- Click Create field.
For more information about scripted fields in Elasticsearch, see Scripting.
Update a scripted field
- Click the Scripted fields tab for the index pattern.
- Click the Edit button for the scripted field you want to change.
- Make your changes, then click Save field.
Built-in validation is unsupported for scripted fields. If your scripts are buggy, you’ll get exceptions whenever you try to view the dynamically generated data.
Delete a scripted field
- Click the Scripted fields tab for the index pattern.
- Click Delete for the scripted field you want to remove.
- Click Delete on the confirmation window.