2016-05-30 6 views
0

elasticsearch-hadoop/sparkライブラリを使用して、SparkRDDをElasticSearchクエリから作成しています。ElasticSearch-Sparkでエンティティのインデックスを取得する方法

esRDD方法は、生(ElasticSearch用語で_source、)文書および(ESで_id)文書のIDを返しますが、私はまた、このようなElasticSearch指標として、返されたドキュメントに関する追加情報を必要とし、各文書が来るタイプ(この情報は常にES REST APIから入手できます)。

esRDDメソッドで返されたRDDのドキュメントのインデックスとタイプ情報を取得するにはどうすればよいですか?

EDIT
esRDDに私の呼び出しはこのようになります。すなわち、私は、複数のインデックスを照会しています:

sparkContext.esRDD("index*/entities", query) 

と実際のインデックスが "index1の"、 "INDEX2" です は、私は、そうなど、結果のRDDの各エンティティがどの特定のインデックスから来たのか知りたい。

+0

どのようにesRDDを呼び出すかを指定する必要があります。 'sc.esRDD(" radio/artists ")'のようなesRDD自体の呼び出しでは、ここでラジオはインデックスであり、アーティストはタイプです。 –

+0

@PranavShukla私はワイルドカードでマルチインデックスクエリを使用しています。私はそれを明確にするために質問を編集しました。とにかく返信ありがとう –

答えて

0

は場合誰もが将来的にこの時つまずく:

溶液をtruees.read.metadata設定を設定することであった(hereを参照します)。これは、esRDDの各文書に_metadataフィールドを追加します。このフィールドには、文書のインデックス、タイプ、ID、バージョンなどの情報が含まれます。

関連する問題