csv中返回的solr多值字段

hsgswve4  于 2021-06-29  发布在  Hive
关注(0)|答案(1)|浏览(379)

我正在尝试编写一个solr查询,它执行类似于用hive进行横向分解的操作,并以csv格式返回结果。我想为多值字段中的每个值返回一个“行”,并复制“父”值。
这是我的问题。。。

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

返回这个输出。

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

但是,我希望查询结果返回如下内容:

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

solr能做到吗?

vx6bjr1n

vx6bjr1n1#

反规范化数据并使用solr的结果分组。
按以下方式存储数据:

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"

现在,当您想为每个多值字段指定一行时。
query: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

当您要将数据分组为
query:http://localhost:8983/solr/awesome-collection/select?q=用法:&fl=parent,id\u 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"

相关问题