是否可以重复使用其他模型的太阳黑子可搜索声明?

时间:2013-08-15 14:42:20

标签: ruby-on-rails solr dry sunspot

我正在使用太阳黑子在定制的狂欢网店项目中进行全文搜索。

有些产品已经被广泛索引:

class Product
  searchable do
    text :description
    ... lots of other declarations
  end
end

我现在需要索引Orders,它(通过其他一些模型,但我不认为这很重要),have_many产品:

class Order
  has_many :products
end

问题是:我希望使用相同的索引属性通过其产品搜索订单。我想保持DRY而不是将Product上的声明变体添加到Order上的新可搜索块,而是说“订单可以通过产品搜索”。这有可能吗?太阳黑子的文档没有提到这样的事情。

编辑:

“apneadiving”建议将声明放在某种共享模块中并以这种方式重新使用它。我可能会弄错,但我认为这不起作用,因为太阳黑子DSL指的是当前的模型,所以Product的声明不适用于Order。

例如,如果我可以在Order中应用上面示例中的可搜索块,它将指示太阳黑子在描述上对Order进行索引,而它没有,并且无论如何都无法帮助我按产品编制索引。 / p>

0 个答案:

没有答案