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

在R中从Elasticsearch索引提取text存储字段失败的技术问询

解决R语言elastic包提取Elasticsearch中text字段的问题

从你提供的Kibana记录来看,text字段并不在文档的_source节点中,而是单独出现在fields节点下,说明该字段是单独存储但未包含在文档原始源数据里。针对这个情况,你可以尝试以下几种解决方案:

方法1:直接使用fields参数查询

虽然官方说明提到ES v5+版本改用stored_fields,但结合你的ES 7.3.1版本和elastic包1.2.0版本,直接传递fields参数可能能正确返回目标字段:

library(elastic)
docs <- Search(c, "document-000002", size = 8, fields = c("text", "servicedate"))$hits$hits

方法2:通过DSL查询体指定字段

如果高层参数传递存在兼容问题,直接构造查询DSL体是更可靠的方式:

query_body <- list(
  size = 8,
  fields = list("text", "servicedate")
)
docs <- Search(c, index = "document-000002", body = query_body)$hits$hits

额外检查:确认字段映射有效性

如果以上方法仍无效,建议先确认text字段的映射是否设置了stored: true(只有标记为存储的字段才能通过fields/stored_fields获取),可以用elastic包的GetMapping函数查看:

GetMapping(c, index = "document-000002", fields = "text")

若返回的映射中stored为false,则需要修改字段映射(注意修改映射通常需要重新索引数据)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 12:55:21