如何在 ElasticSearch-Spark 中获取实体的索引
How to get entities' index in ElasticSearch-Spark
我正在使用 elasticsearch-hadoop/spark 库从 ElasticSearch 查询创建 Spark
RDD
s。
esRDD
方法 returns 原始文档(_source
,在 ElasticSearch 术语中)和文档的 id(_id
在 ES 中),但我还需要额外的有关返回文档的信息,例如每个文档的 ElasticSearch 索引和类型(此信息始终可从 ES REST API)获得。
如何获取esRDD
方法返回的RDD
中文档的索引和类型信息?
编辑
我正在查询多个索引,即我对 esRDD
的调用如下所示:
sparkContext.esRDD("index*/entities", query)
实际索引为"index1"、"index2"等。
所以,我想知道结果 RDD
中的每个实体来自哪个特定索引。
万一以后有人偶然发现这个:
解决方案是将 es.read.metadata
设置设为 true
(参见 here)。这会为 esRDD
中的每个文档添加一个 _metadata
字段,其中包含文档的索引、类型、id、版本等信息
我正在使用 elasticsearch-hadoop/spark 库从 ElasticSearch 查询创建 Spark
RDD
s。
esRDD
方法 returns 原始文档(_source
,在 ElasticSearch 术语中)和文档的 id(_id
在 ES 中),但我还需要额外的有关返回文档的信息,例如每个文档的 ElasticSearch 索引和类型(此信息始终可从 ES REST API)获得。
如何获取esRDD
方法返回的RDD
中文档的索引和类型信息?
编辑
我正在查询多个索引,即我对 esRDD
的调用如下所示:
sparkContext.esRDD("index*/entities", query)
实际索引为"index1"、"index2"等。
所以,我想知道结果 RDD
中的每个实体来自哪个特定索引。
万一以后有人偶然发现这个:
解决方案是将 es.read.metadata
设置设为 true
(参见 here)。这会为 esRDD
中的每个文档添加一个 _metadata
字段,其中包含文档的索引、类型、id、版本等信息