📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 6.8-8.9

简要来说,当 Elasticsearch 无法分析数据中的特定字段时,就会出现此错误。这可能是由于分析器设置不正确、数据类型不兼容或查询格式错误造成的。要解决此问题,您可以检查分析器设置,确保它们对于该数据类型是正确的。如果问题出在数据类型上,您可能需要使用正确的映射重新索引数据。如果是查询格式错误,您应该修正它。此外,确保您尝试分析的字段确实存在于您的索引中。

日志上下文 #

日志 “failed to analyze” 的类名是 TransportAnalyzeAction.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入理解的人参考:

lastPosition += posIncr.getPositionIncrement();  lastPosition += analyzer.getPositionIncrementGap(request.field());
 lastOffset += analyzer.getOffsetGap(request.field());
 } catch (IOException e) {
 throw new ElasticsearchException("failed to analyze"; e);
 }
 }
 return tokens;
 }