Ransack搜索:两个具有相关性的字段的一个输入字段

时间:2015-02-12 18:24:15

标签: ruby-on-rails ransack

我有这段代码

<%= search_form_for @search, url: "/venues/search", method: "post", id: "frm_search_venue", class: "col-md-6" do |f| %>
                <%= f.text_field :name_or_description_cont, class: "form-control" %>
<% end %>

在Ransack的RoR应用程序中。它工作得很完美,它会搜索&#34; name&#34;和&#34;描述&#34;我的模特(场地)的领域。

问题是:我可以在搜索中使用Ransack定义某种相关性吗?换句话说,结果搜索数组带有&#34; name&#34;属性是否匹配参数,稍后是描述?

或者使用其他搜索模式/方法更好,例如使用弹性搜索?

1 个答案:

答案 0 :(得分:1)

您走在正确的轨道上 - 我会使用弹性搜索(或类似的东西)来为此搜索查询添加相关性。

该方法可能涉及对名称和描述赋予权重(名称将为0.9或1.0,而描述将为0.6或0.5)

您可能还想看看Solr(http://lucene.apache.org/solr/)。

有一个版本的Solr for Rails应用程序调用Sunspot。它应该提供您正在寻找的功能。

http://www.github.com/sunspot/sunspot