2016-05-10 14 views
1

HiveでLATERAL EXPLODEと似た何らかの処理を行うSolrクエリを作成しようとしていて、その結果をCSVで返します。 multiValuedフィールドの各値に対して1つの「行」を返し、「親」値を複製したいとします。Solr CSVで返されたMultiValuedフィールド

これは私のクエリです...この出力を返し

http://localhost:8983/solr/select?q=*%3A*&fl=parent,id&wt=csv 

parent,id 
10,4100 
10,4435 
11,376 
11,190 
11,4542 
12,141 
12,142 

はSolrので、このことが可能です:

parent,id 
10,"4100,4435" 
11,"376,190,4542" 
12,"141,142" 

しかし、私はこのような何かを返すために、クエリの結果が欲しいですか?

答えて

2

データを正規化し、SolrのResult Groupingを使用してください。このような

ストアデータ:

parent,id,id_group 
10,"4100","4100,4435" 
10,"4435","4100,4435" 
11,"376","376,190,4542" 
11,"190","376,190,4542" 
11,"4542","376,190,4542" 
12,"141","141,142" 
12,"142","141,142" 

は今、あなたは、多値フィールドごとに、単一の行をしたいとき。

問合せ: http://localhost:8983/solr/awesome-collection/select?q=*:*&fl=parent,id&wt=json&indent=true

結果:

parent,id 
10,4100 
10,4435 
11,376 
11,190 
11,4542 
12,141 
12,142 

は、グループ化したいデータ

照会など: http://localhost:8983/solr/awesome-collection/select?q=*:*&fl=parent,id_group&wt=json&indent=true&group=true&group.field=parent&group.format=simple

結果:

parent,id_group 
10,"4100,4435" 
11,"376,190,4542" 
12,"141,142" 
関連する問題