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

版本: 6.8-8.9

简而言之,当 Elasticsearch 遇到字段或参数不符合其预期的小写格式时,就会发生此错误。Elasticsearch 区分大小写,某些字段(如索引名称)必须使用小写。要解决此问题,请确保所有索引名称、字段名称和其他参数都使用小写。如果您使用脚本或应用程序向 Elasticsearch 发送数据,请考虑添加一个函数,在发送之前将所有名称转换为小写。

日志上下文 #

日志 “must be lowercase” 的类名是 MetadataCreateIndexService.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入背景信息的人参考:

* Validate the name for an index against some static rules and a cluster state.
 */
public static void validateIndexName(String index, ClusterState state) {
    validateIndexOrAliasName(index, InvalidIndexNameException::new);
    if (index.toLowerCase(Locale.ROOT).equals(index) == false) {
        throw new InvalidIndexNameException(index, "must be lowercase");
    }  // NOTE: dot-prefixed index names are validated after template application; not here  if (state.routingTable().hasIndex(index)) {