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

版本: 8-8.9

简而言之,当 Elasticsearch 无法检索文档时会出现此错误,因为指定的 ID 在索引中不存在。这可能是由于 ID 输入错误、文档已被删除,或者在最近更新后索引未刷新。要解决此问题,您可以验证 ID、确保文档存在,或刷新索引。如果问题仍然存在,请检查 Elasticsearch 日志以获取更详细的错误信息。

日志上下文 #

日志 “Failed to get id [” + id + “]” 的类名是 ShardGetService.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人使用:

StoredFieldLoader storedFieldLoader = buildStoredFieldLoader(storedFields; fetchSourceContext; loader);
    LeafStoredFieldLoader leafStoredFieldLoader = storedFieldLoader.getLoader(docIdAndVersion.reader.getContext(); null);
    try {
        leafStoredFieldLoader.advanceTo(docIdAndVersion.docId);
    } catch (IOException e) {
        throw new ElasticsearchException("Failed to get id [" + id + "]"; e);
    }  // put stored fields into result objects
    if (leafStoredFieldLoader.storedFields().isEmpty() == false) {
        Setneeded = new HashSet<>();