如何使用通配符搜索Sunspot solr? 使用*不起作用,我想返回所有教育结果。
教育是一个可以存在“全部”,“高”,“低”的集合,所以现在我的想法是将其从搜索块中移除,如果它的“全部”
with(:orientation, params[:orientation])
if params[:orientation].present? unless params[:orientation] == "all"
一定是更好的方式吗?
search = Sunspot.search Session do
if params[:education].present?
if params[:education] == "all"
# Use a wildcard here
#with(:education, *)
end
end
end
答案 0 :(得分:1)
实际上,最好的方法是删除查询。 它更清洁,更快,因为发动机运行条件较少。 所以:
with(:orientation, params[:orientation])
if params[:orientation].present? unless params[:orientation] == "all"
确实是最好的解决方案。
答案 1 :(得分:0)
我终于找到了问题,我的开发数据库中有一些问题,其中Profile没有匹配。 +匹配表中缺少一些profile_id,修好后再重新编好了。