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

版本: 8.9-8.9

简而言之,当 Elasticsearch 无法找到指定的同义词集时,就会发生此错误。这可能是由于同义词路径配置错误或文件在指定位置不存在造成的。要解决此问题,您可以验证 Elasticsearch 配置中的同义词文件路径,确保文件存在于指定位置,并检查文件的读取权限。此外,确保同义词文件的格式符合 Elasticsearch 的预期。

日志上下文 #

日志 “Synonym set [” + resourceName + “] not found” 的类名是 SynonymsManagementAPIService.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入理解的人参考:

.setPreference(Preference.LOCAL.type())
 .setTrackTotalHits(true)
 .execute(new DelegatingIndexNotFoundActionListener<>(resourceName; listener; (l; searchResponse) -> {
 final long totalSynonymRules = searchResponse.getHits().getTotalHits().value;
 if (totalSynonymRules == 0) {
 l.onFailure(new ResourceNotFoundException("Synonym set [" + resourceName + "] not found"));
 return;
 }
 final SynonymRule[] synonymRules = Arrays.stream(searchResponse.getHits().getHits())
 .map(SynonymsManagementAPIService::hitToSynonymRule)
 .toArray(SynonymRule[]::new);