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

版本: 6.8-8.9

简而言之,当 Elasticsearch 无法为特定操作选择最佳词项时,会出现此错误,通常是由于资源不足或配置错误导致的。要解决此问题,可以增加分配给 Elasticsearch 的资源,特别是内存。或者,您可以审查和调整 Elasticsearch 配置,确保词项正确定义,并且系统不会因过多词项而过载。最后,您还可以尝试优化查询以减少需要处理的词项数量。

日志上下文 #

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

termVectorsFilter = new TermVectorsFilter(termVectorsByField; topLevelFields; request.selectedFields());
 termVectorsFilter.setSettings(request.filterSettings());
 try {
 termVectorsFilter.selectBestTerms();
 } catch (IOException e) {
 throw new ElasticsearchException("failed to select best terms"; e);
 }
 }
 // write term vectors
 termVectorsResponse.setFields(
 termVectorsByField;