通过solr rails保存并返回缓存的结果

时间:2013-08-12 19:45:50

标签: ruby-on-rails-3 mongodb solr ember.js sunspot

我有一个Ember.js应用程序可以生成html模板,然后我想保存为html。

对于这些模板中的每一个,我将通过solr经由太阳黑子宝石搜索。

当用户搜索时,我希望solr返回结果,然后还返回每个结果的模板html以显示。

我使用mongodb存储数据但不确定将html文档存储到mongodb,文件系统或solr本身。

如果我将它们保存到mongo中,当我从solr获取结果时,我还有一个额外的步骤来查询mongodb。

任何人都有这方面的经验吗?

任何帮助或建议都会很棒!

感谢 里克

1 个答案:

答案 0 :(得分:1)

我们有一个类似的设置,ASP.NET MVC4应用程序,由MongoDb和Solr支持。

我们使用Mongo存储数据+模板(我们使用Mustache进行模板化)。在Solr之外,我们只是查询Mongo的数据+模板,使用数据JSON编译Mustache模板并渲染它。

对于SOLR,我们存储(indexed=false)已编译的HTML以及文档的其他结构化数据(stored=true indexed=true)。这有助于我们避免对Mongo进行额外查询,还允许我们在文档上使用Facets。

如果您将HTML存储在Mongo中,并且您打算使用facet,那么每个facet选项将至少查看一个额外的Mongo查询。

当我为文档构建数据时,SOLR非常适合将html存储为文本,我不会将其编入索引。