我有两个模型,命名为Products和Variants,其中Variant模型与产品有关联,因为Product有许多变体。变体模型具有名为"available_on“的字段...我想使用两个日期作为检入和检出日期来实现搜索。
。
如果某个产品的变体可用于每个日期、入住日期和结帐日期,则结果将映射所有这些产品,它就是结果...
。。指导我如何使用太阳黑子:solr给出条件
我的模型大致是这样的
product
{
product_id integer
has_many variants
}
variant
{
variant_id integer
available_on date
belongs_to product
}check-in n checkout是搜索的输入。
发布于 2013-01-28 13:25:04
如果你把你的模型放在讨论中,答案会更容易,但是一般来说,如果你有has_many关系,你应该索引嵌套的模型
#variant model
searchable do
integer :product_id
time :check_in
time :check_out
end如果您需要对父has_many模型中某些内容进行索引,您可以这样使用:multiple=>true选项
#product model
def variant_ids
variants.collect(&:id)
end
searchable do
integer :variant_ids, :multiple=>true
...
end发布于 2013-02-03 12:23:03
为每个模型建立索引,并从SOLR返回所需的变体/产品。如果你正在使用spree,顺便说一句,有一个gem可以用来集成太阳黑子和Spree。我只是分叉了它:https://github.com/banane/spree_sunspot_search
https://stackoverflow.com/questions/14555307
复制相似问题