Profile uid differentiator is not a number – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 8.2-8.9

Briefly, this error occurs when Elasticsearch tries to profile a query and encounters a non-numeric value in a field that requires a numeric value. This could be due to incorrect data input or a mismatch in data types. To resolve this issue, you can: 1) Check the data input and ensure that only numeric values are being used where required. 2) Verify the mapping of your index to ensure that the field is correctly set to accept numeric values. 3) If the error persists, consider re-indexing your data after correcting any inconsistencies.

This guide will help you check for common problems that cause the log ” profile uid [{}] differentiator is not a number ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: plugin.

Log Context

Log “profile uid [{}] differentiator is not a number” class name is We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 final int differentiator;
 try {
 differentiator = Integer.parseInt(differentiatorString);
 } catch (NumberFormatException e) {
 listener.onFailure(new ElasticsearchException("profile uid [{}] differentiator is not a number"; e; uid));
 // Prevent infinite recursion. It is practically impossible to get this many clashes
 if (differentiator >= DIFFERENTIATOR_UPPER_LIMIT) {


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?