Analyzer on field name must be set when search analyzer is set – How to solve this Elasticsearch exception

Opster Team

August-23, Version: 6.8-7.9

Briefly, this error occurs when a ‘search_analyzer’ is set for a field in Elasticsearch without setting an ‘analyzer’ for the same field. Elasticsearch requires both to be set for consistency in indexing and searching. To resolve this, you can either set an ‘analyzer’ for the field or remove the ‘search_analyzer’ if it’s not needed. Alternatively, you can set the ‘analyzer’ and ‘search_analyzer’ to the same value if you want the same analysis process for both indexing and searching.

This guide will help you check for common problems that cause the log ” analyzer on field [” + name + “] must be set when search_analyzer is set ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: index.

Log Context

Log “analyzer on field [” + name + “] must be set when search_analyzer is set” class name is TypeParsers.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
searchQuoteAnalyzer.checkAllowedInMode(AnalysisMode.SEARCH_TIME);
}
} if (indexAnalyzer == null && searchAnalyzer != null) {
throw new MapperParsingException("analyzer on field [" + name + "] must be set when search_analyzer is set");
} if (searchAnalyzer == null && searchQuoteAnalyzer != null) {
throw new MapperParsingException("analyzer and search_analyzer on field [" + name +
"] must be set when search_quote_analyzer is set");<p></p>
searchQuoteAnalyzer.checkAllowedInMode(AnalysisMode.SEARCH_TIME); } } if (indexAnalyzer == null && searchAnalyzer != null) { throw new MapperParsingException("analyzer on field [" + name + "] must be set when search_analyzer is set"); } if (searchAnalyzer == null && searchQuoteAnalyzer != null) { throw new MapperParsingException("analyzer and search_analyzer on field [" + name + "] must be set when search_quote_analyzer is set");<p></p>
 searchQuoteAnalyzer.checkAllowedInMode(AnalysisMode.SEARCH_TIME);
 }
 }  if (indexAnalyzer == null && searchAnalyzer != null) {
 throw new MapperParsingException("analyzer on field [" + name + "] must be set when search_analyzer is set");
 }  if (searchAnalyzer == null && searchQuoteAnalyzer != null) {
 throw new MapperParsingException("analyzer and search_analyzer on field [" + name +
 "] must be set when search_quote_analyzer is set");

 

 [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.