首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在solr中使用dih处理复合键

问如何在solr中使用dih处理复合键
EN

Stack Overflow用户
提问于 2014-07-16 11:00:10
回答 1查看 136关注 0票数 1

我正在将数据从mysql db导入到solr文档中。一切都很好,但是我有一个表,它有一个复合键(一对列作为主键),post_locations表的->主键是(post_id,location_id)。但是,我的post_id是solr文档的主键,所以当从post_location表导入数据时,location_ids是overwritten.Is,可以将location_ids(int类型)作为数组(因为post可以有多个location_id )。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-16 12:44:25

对于MySQL,您可以使用GROUP BY和GROUP_CONCAT获取一个字段的所有值,该字段分组在一个列中,由,分隔。然后,可以使用该字段的RegexTransformer和splitBy将字段索引为multiValued (实际上,将其索引为数组)。我在先前的回答中发布了an example of this。您也可以通过在DIH中包含依赖实体条目来实现这一点,但是它需要比执行GROUP BY和GROUP_CONCAT更多的SQL查询。

如果希望为每个条目设置一行,则可以使用自定义uniqueKey,使用CONCAT在MySQL侧构建聚合/复合键。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24779088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档