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

版本: 6.8-8.9

简而言之,当Elasticsearch由于嵌套文档而无法为percolator创建索引时,会出现此错误。这可能是由于映射不正确或复杂的嵌套结构导致的。要解决此问题,你可以尝试简化嵌套结构或确保映射定义正确。此外,检查percolator查询是否正确编写并与嵌套文档结构兼容。最后,确保你的Elasticsearch版本支持percolator查询中的嵌套文档。

日志上下文 #

日志"Failed to create index for percolator with nested document"的类名是 PercolateQueryBuilder.java. 我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入了解的人参考:

assert directoryReader.leaves().size() == 1 : "Expected single leaf; but got [" + directoryReader.leaves().size() + "]";
final IndexSearcher slowSearcher = new IndexSearcher(directoryReader);
slowSearcher.setQueryCache(null);
return slowSearcher;
} catch (IOException e) {
    throw new ElasticsearchException("Failed to create index for percolator with nested document "; e);
}
}  static PercolateQuery.QueryStore createStore(MappedFieldType queryBuilderFieldType; SearchExecutionContext context) {
    IndexVersion indexVersion = context.indexVersionCreated();