Expecting the analyzer at to be a String; but found instead – Elasticsearch Error How To Solve Related Issues



Expecting the analyzer at to be a String; but found instead – Elasticsearch Error How To Solve Related Issues

Updated: July-20

Elasticsearch Version: 1.7-8.0

Before you begin reading this guide, we recommend you try running the Elasticsearch Error Check-Up  which can resolve issues causing many errors 

 

This guide will help you check for common problems that cause the log “expecting the analyzer at to be a String; but found instead” to appear. It’s important to understand the issues related to the log, so to get started, read the general overview on common issues and tips related to the Elasticsearch concepts: .


Advanced users might want to skip right to the common problems section in each concept or try running the Check-Up which analyses ES to discover the cause of many errors and provides suitable actionable recommendations (free tool that requires no installation). 

Log Context

Log”expecting the analyzer at [{}] to be a String; but found [{}] instead”classname  is TermVectorsRequest.java
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

Map mapStrStr = new HashMap();
  for (Map.Entry e : map.entrySet()) {
  if (e.getValue() instanceof String) {
  mapStrStr.put(e.getKey(); (String) e.getValue());
  } else {
  throw new ElasticsearchParseException("expecting the analyzer at [{}] to be a String; but found [{}] instead";
  e.getKey(); e.getValue().getClass());
  }
  }
  return mapStrStr;
  }

Related issues to this log

We have gathered selected Q&A from the community and issues from Github, that can help fix related issues please review the following for further information :

1 malformed query, expected END_OBJECT but found FIELD_NAME error in Kibana (Elastic Search) -views 29,553 ,score 14

ElasticSearch not returning results for terms query against string property -views   28,673,score 27



Find Configuration Errors

Analyze Now