Can only use prefix queries on keyword and text fields – not on – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-7.8

Briefly, this error occurs when a prefix query is used on a field type that doesn’t support it. Elasticsearch only supports prefix queries on keyword and text fields. If you’re trying to use it on a numeric, date, or other non-string field, you’ll encounter this error. To resolve this, you can either change the field type to keyword or text if possible, or use a different type of query that is compatible with the current field type. Alternatively, you could create a keyword or text sub-field for querying purposes.

This guide will help you check for common problems that cause the log ” Can only use prefix queries on keyword and text fields – not on [ ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: index.

Log Context

Log “Can only use prefix queries on keyword and text fields – not on [” class name is MappedFieldType.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

 throw new IllegalArgumentException("Can only use fuzzy queries on keyword and text fields - not on [" + name
 + "] which is of type [" + typeName() + "]");
 }  public Query prefixQuery(String value; @Nullable MultiTermQuery.RewriteMethod method; QueryShardContext context) {
 throw new QueryShardException(context; "Can only use prefix queries on keyword and text fields - not on [" + name
 + "] which is of type [" + typeName() + "]");
 }  public Query wildcardQuery(String value;
 @Nullable MultiTermQuery.RewriteMethod method;

 

 [ratemypost]

Opster
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.