Cannot use expression with text variable using – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-8.9

Briefly, this error occurs when you try to use an expression with a text variable in Elasticsearch. This is not allowed because text fields are not optimised for operations that require numerical or date-based calculations. To resolve this issue, you can either change the field type to a numerical or date type, or use a keyword field instead. Alternatively, you can use a script to convert the text field to a numerical or date type before performing the operation.

This guide will help you check for common problems that cause the log ” Cannot use expression with text variable using ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: .

Log Context

Log “Cannot use expression with text variable using” class name is ExpressionAggregationScript.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 // _value isn't used in script if specialValue == null
 if (specialValue != null) {
 if (value instanceof Number) {
 specialValue.setValue(((Number) value).doubleValue());
 } else {
 throw new GeneralScriptException("Cannot use expression with text variable using " + exprScript);
 }
 }
 }
 };
 }

 

How helpful was this guide?

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?