【发布时间】:2012-07-06 06:38:46
【问题描述】:
我的应用有Machines,它拥有并属于许多Specifications
class Machine < ActiveRecord::Base
has_and_belongs_to_many :specs
规格同时具有field(宽度、重量、容量、马力)和value 属性。
搜索完全通过 Solr 通过 Sunspot 完成。
我希望能够根据规格找到机器,例如查找宽度大于 50 的所有机器。
我知道我可以分别索引 spec_field 和 spec_value,但它会过滤值超过 50 的规格,其中可能包括我不想要的字段,例如高度或容量(所以搜索宽度 > 50 将产生 > 50 的结果)。
理想情况下,我想将机器的每个规格及其值分配给自己的索引字段,以便我的索引具有诸如“高度”或“重量”之类的字段,但规格是灵活的,有些机器有一套规格,而另一台机器有不同的一套,所以看起来不行。
甚至可以用 Solr 完成吗?
【问题讨论】:
标签: ruby-on-rails ruby search solr sunspot