在Solr

时间:2015-08-28 01:29:59

标签: postgresql search ember.js solr ember-data

我在后端运行PostgreSQL和Solr,并且在前端使用EmberJS和ember-data。

在PostgreSQL中,我有多对一的关系,其中一篇文章可以有很多视频链接。 Ember-data要求以下列格式返回:

{
    articles: {
        //Some number of articles
    },
    videos: {
        //Videos that belong to those articles
    }
}

现在我打算做的是从数据库导入Solr以允许搜索数据。这是我开始困惑的地方。

我认为最好的方法是分别为视频制作核心并为文章制作核心,然后分别导入两个核心。但是,我是Solr的新手,并且不确定是否拥有多个核心是处理多对一关系的规范方式。

此外,据我所知,在查询哪个构建JSON时,你不能在两个核上进行连接,而ember需要它来接受多个查询,这对我来说似乎是错误的。 / p>

如何在Solr中正确表示多对一关系?

1 个答案:

答案 0 :(得分:1)

这取决于您要搜索的内容。但是,当将关系数据库中的数据导入像Solr这样的基于文档的存储时,最常规的方法是将数据非规范化或扁平化为单个文档集合。在这种情况下,假设您要搜索文章(例如文章标题),您可能希望有一个集合,其中的文档看起来像这样

{
   article_title: "<title_string>",
   article_link: "<article_link1>",
   videos: ["<video_link1>","<video_link2>",...]
}