You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AWS Kendra Query结果中获取_document_body属性?

AWS Kendra查询未返回_document_body的解决建议

以下是几个排查和解决方向:

  • 检查数据源同步配置
    确认你的数据源在同步时开启了文档内容的存储:

    • 对于托管数据源(如S3、SharePoint),需要在数据源配置中明确设置保留原始文档内容,否则Kendra不会存储_document_body属性。
    • 对于自定义数据源,调用BatchPutDocument时必须正确传入Content字段,并指定合适的ContentType(如TEXT_PLAIN、HTML),否则文档内容不会被索引存储。
  • 验证索引的文档属性与权限设置

    • 登录Kendra控制台,进入目标索引的「文档属性」页面,确认_document_body属于可返回的系统属性(默认允许,但若被修改则需调整)。
    • 检查索引的访问控制规则或文档级权限,确保没有限制_document_body属性的读取权限。
  • 核对查询参数细节

    • 确认RequestedDocumentAttributes中的_document_body拼写完全正确(注意是英文下划线,大小写敏感)。
    • 若查询使用了AttributeFilter,排查过滤器是否间接排除了包含_document_body的文档。
  • 用BatchGetDocument验证单文档属性
    调用BatchGetDocument API查询单个目标文档的属性,若该API也返回空的_document_body,说明文档本身未被正确索引内容,需要重新同步数据源。

你的代码写法本身没有问题,示例如下:

const command = new QueryCommand({
    IndexId: 'xxxxxxx',
    QueryText: "How to connect to ec2?",
    RequestedDocumentAttributes: [
        "_document_body",
        "_data_source_id",
        "_last_updated_at"
    ]    
});

额外注意:确保调用API的IAM角色拥有kendra:Query权限,以及访问该索引下文档的权限。

内容的提问来源于stack exchange,提问作者Andrea Pinti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 19:06:20