Rails:如何将facet与搜索结果一起使用

我有一个导轨应用程序,我正在寻找维修店。 搜索类方法如下所示:

def self.search(params) if params repairshop = Repairshop.where(:approved => true) if params[:radius].present? repairshop = repairshop.near(params[:location], params[:radius]) if params[:location].present? else repairshop = repairshop.near(params[:location], 200) if params[:location].present? end if params[:keywords].present? repairshop = repairshop.joins(:specializations).joins(:brands_we_services).where("LOWER(specializations.title) LIKE ? OR LOWER(brands_we_services.title) LIKE ? OR LOWER(repairshop.title) LIKE ?", "%#{params[:keywords].downcase}%", "%#{params[:keywords].downcase}%", "%#{params[:keywords].downcase}%") end repairshop.uniq else all end end 

维修店可以有许多专业和品牌_we_services。 因此,从其他参数中搜索所有名称非常重要。

搜索表单如下所示: 在此处输入图像描述

一切正常。 搜索控制器将我带到搜索页面。 控制器动作如下:

 def search @repairshops = Repairshop.search(params) end 

搜索结果如下所示:

在此处输入图像描述

我的问题是:

在搜索页面的左侧,搜索框下方,我想提供用于过滤结果的构面。 我想提供一些动态的方面。 喜欢取决于搜索结果,它提供城市的方面(维修店的数量)等。

我不想使用弹性搜索或solr。 我想了解如何从头开始构建动态分面搜索,这是从搜索结果中构建构面的基础知识

注意:我查看了四个方面,但无法理解如何使用我在维修服务模型中的复杂类方法搜索,并将其集成到控制器根据文档提供的class MovieSearch < FortyFacets::FacetSearch

真的很感谢你的帮助。 谢谢!

Interesting Posts