我将 ElasticSearch gem Searchkick 与 Rails 一起使用,我想基于 2 个值执行搜索:
- params[:full_text_query]
- params[:only_from_this_location]
一个人应该搜索所有字段的全文,另一个人应该将搜索限制为仅与一个字段部分匹配的记录。
我想要这样的东西:
Post.search(params[:full_text_query], where: { location: params[:only_from_this_location] })
但是,我需要位置过滤器不仅匹配精确值,还匹配部分值。所以不仅是“纽约”,还有“美国纽约”。就像你会在 SQL 中做的 %something% 一样。
我还需要支持分页,所以它需要在一个查询中。
我有哪些选择?