[英]How to get entities' index in ElasticSearch-Spark
我正在使用elasticsearch -hadoop / spark库从ElasticSearch查询创建Spark
RDD
。
esRDD
方法返回原始文档(在ElasticSearch术语中为_source
)和文档的ID(在ES中为_id
),但是我还需要有关返回的文档的其他信息,例如ElasticSearch索引和每个文档的来源类型(此信息是始终可从ES REST API获得)。
如何获取esRDD
方法返回的RDD
中文档的索引和类型信息?
编辑
我正在查询多个索引,即我对esRDD
调用如下所示:
sparkContext.esRDD("index*/entities", query)
实际的索引是“ index1”,“ index2”等。因此,我想知道结果RDD
每个实体来自哪个特定索引。
如果将来有人偶然发现此问题:
解决方案是将es.read.metadata
设置设置为true
(请参见此处 )。 这增加了_metadata
场在每个文档esRDD
,其中包含的信息,如文件的索引,类型,ID,版本等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.