0

目前正在使用 Searchkick gem 并试图弄清楚如何同时使用多个查询进行搜索。

我希望使用选择(下拉)预定义搜索查询。

我的控制器目前看起来像这样:

  def index
    @application = Application.search(params[:query])
 end

和我的观点:

<%= form_tag search_company_path, method: :get do %>
 <p>
  <%= label_tag :query, "Type" %>
  <%= select_tag :query, options_for_select(['Test 1','Test 2','Test 3', 'Test 4',    'Test 5']) %>
  <%= label_tag :query, "On location?" %>
  <%= select_tag :query, options_for_select(['Yes', 'No', 'Either']) %>
  <%= submit_tag "Search", name: nil %>
 </p>
<% end %>

这可以运行两个具有相同 :query 的 select_tags,但我猜这不是很好的编码。我也不能为后者创建 label_tag。

此外,如果我执行成功搜索,它会将 select_tag 重置为第一个(测试 1 和是),我该如何解决这个问题?

4

1 回答 1

0

当我在 rails 中使用 searchkick 时,我遇到了同样的问题。Elasticsearch 正式发布项目

https://github.com/elasticsearch/elasticsearch-rails

这里是多查询字符串方法的文档:elasticsearch-multiple query string elasticsearch-rails 的配套项目 elasticsearch-model 可以帮助我们。

response = Article.search query:     { bool: { should: [match:  { title: "Fox Dogs" },
                                                        match:  { author: 'Will' }] } },
                          highlight: { fields: { title: {} } }
于 2014-11-13T08:33:50.893 回答