Solr索引来自MySQL的多个表

时间:2013-12-01 10:20:38

标签: mysql indexing solr multiple-tables

我有以下mysql表

 1. user(user_id,email) 
 2. tweets(tweet_id,user_id,tweet) 
 3. tags(tag_id,tag)
 4. tweets_tags(tweet_id,tag_id)

我想在应用程序的“我的推文”标签下显示当前用户的推文。我想从Solr获得以下数据

user_id
email
tweet where user_id=x
tags where tweet_id=xx

如何索引Solr上的那些mysql表?对于 schema.xml ,我只知道 data-config.xml Full/Delta import 的代码。

  

注意:我没有询问MySQL连接器等,我已经完成了。

2 个答案:

答案 0 :(得分:1)

您所描述的用例似乎没有理由使用solr。你只需要确保你有正确的密钥和索引,并直接在mysql中进行。

如果由于某种原因你必须使用solr,你可能准备好所有数据并将其提供给solr,如同这样的标签/推文/用户结构

  • user1 - tweet1 - tag1
  • user1 - tweet1 - tag2
  • user1 - tweet2 - tag1

等等。

然后从solr您按用户查询,然后按推文排序和分组然后标记。 但是,我必须再次声明,通过使用普通的sql,我刚刚描述的解决方案实现得更安全,对结果更有信心。

如果您提供有关所需结果的更多详细信息,我很乐意建议数据库结构以及必要的外键和索引以及获取数据所需的查询。

答案 1 :(得分:0)

如果你正在使用DIH(dataimporterhandler),我想这个链接应该是你的解决方案: Import with sub entities 如果您在编写确切配置时遇到问题,请告诉我,我可以为您提供帮助。