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

版本: 6.8-8.9

简而言之,当发送到 Elasticsearch 的查询或数据中包含分号(;)时会发生此错误。Elasticsearch 将分号解释为特殊字符,这可能会中断解析过程。要解决此问题,你可以从数据或查询中删除分号,或者在数据中必须包含分号时使用反斜杠(;)对其进行转义。此外,确保你的应用程序的输入验证过程能够防止此类字符包含在发送到 Elasticsearch 的数据中。

日志上下文 #

日志"must not contain ‘;'“的类名是 SnapshotsService.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入了解的人参考:

}
 if (snapshotName.contains(" ")) {
 throw new InvalidSnapshotNameException(repositoryName; snapshotName; "must not contain whitespace");
 }
 if (snapshotName.contains(";")) {
 throw new InvalidSnapshotNameException(repositoryName; snapshotName; "must not contain ';'");
 }
 if (snapshotName.contains("#")) {
 throw new InvalidSnapshotNameException(repositoryName; snapshotName; "must not contain '#'");
 }
 if (snapshotName.charAt(0) == '_') {