我非常精通Solr并且之前使用过DIH。在我正在处理的当前应用程序中,我的Solr文档将包含3个表中的字段(因为数据库的RDBMS设计)。
Questions
:这是主表,id(问题id)是所有其他表的外键
Questions and topic mapping
表:将多个主题映射到单个问题。
Answers
:每个问题都有多个答案,这些答案都存储在此表中,并带有问题表中的外键。
太阳黑子能满足这两项要求吗?如果没有,是否有一些其他扩展可用于带有Solr的rails,我可以单独配置solr(通过DIH,schema.xml等)并将其与扩展中可用的功能一起使用?
答案 0 :(得分:1)
我没有测试过这段代码,但也许它会让你朝着正确的方向前进。我知道:if
肯定会有用,我不确定在文本字段中使用multiple
。
class Question < ActiveRecord::Base
has_many :topics
has_many :answers
searchable :if => active? do
text :question_text
text :topics, :multiple => true do
topics.pluck(&:topic_text)
end
# Not sure if `multiple` works with text fields, so alternatively:
#text :topics do
# topics.pluck(&:topic_text).join()
#end
text :answers, :multiple => true do
answers.pluck(&:answer_text)
end
end
end