我之前没有实现过搜索功能,感觉有点卡住了。我有一个 Sunspot 搜索功能,可以根据关键字查找结果 - 这很好用 - 但我现在想实现多选方面功能,但我什至不知道如何设置基本方面搜索。
我有一个多对多的关系(在轨道上不是在现实生活中):
Class People has_many :skills, :through => 经验(反之亦然等)
Class People < ActiveRecord::Base
has_many :skills, :through => experience
searchable do
text :first_name, :surname
end
end
在控制器中
@search = Sunspot.search(People)
facet :skill_ids
end
这是我无法工作的基本示例。它会生成此错误:
Sunspot::UnrecognizedFieldError: No field configured for People with name 'skill_ids'
如何创建指向 :skill_ids 的链接
我想我一定是在模型中遗漏了一些参考——但我找不到任何例子可以参考关系的 ID。我发现的大多数示例在使用构面功能时都使用了该模型中已经存在的列。
- 我怎样才能使基本实现工作?
- 我将如何在视图中使用它 - 我是否必须调用 hits.facet 并迭代技能?代码会是什么样子来显示这个?
- 我将如何选择多个方面进行搜索?
- 我应该把它放在社区维基吗?
感谢您的时间!