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

版本: 6.8-8.9

简而言之,当 Elasticsearch 遇到格式错误的正则表达式文件时会出现此错误。它期望在 ‘array’ 后出现 ‘field_name’,但该字段不存在。这可能是由于正则表达式文件中存在语法错误或格式不正确导致的。要解决此问题,你应该检查正则表达式文件并修正任何语法或格式错误。确保 ‘field_name’ 按预期紧跟在 ‘array’ 之后。此外,使用正则表达式验证器验证你的正则表达式文件,以捕获任何隐藏的错误。

日志上下文 #

日志"malformed regular expression file; should continue with ‘field_name’ after ‘array’“的类名是 UserAgentParser.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:

while (token == XContentParser.Token.START_OBJECT) {
 token = yamlParser.nextToken();  if (token != XContentParser.Token.FIELD_NAME) {
 throw new ElasticsearchParseException("malformed regular expression file; should continue with 'field_name' after 'array'");
 }  MapregexMap = new HashMap<>();
 for (; token == XContentParser.Token.FIELD_NAME; token = yamlParser.nextToken()) {
 String fieldName = yamlParser.currentName();