【问题标题】:Search form using sunspot/solr使用太阳黑子/solr 搜索表单
【发布时间】:2011-09-24 06:28:45
【问题描述】:

我是第一次使用太阳黑子,我正在尝试设置搜索。全文搜索似乎工作正常。但是,我有一个带有搜索框和用户可以选择的布尔字段上的多个过滤器的表单。不知何故,搜索框工作正常,但 solr 没有将单个布尔值作为附加过滤器。另外,当我不做任何搜索文本而只想通过布尔字段进行搜索时,什么也没有发生。任何帮助将不胜感激:

这是我的控制器:

@search = Project.search do
   fulltext params[:search]
   facet(:master_bedroom)
   facet(:dining_room)
   facet(:bath)
   with(:master_bedroom, params[:mb]) if params[:mb].present?
   with(:dining_room, params[:dr]) if params[:dr].present?
   with(:bath, params[:p_bath]) if params[:p_bath].present?
 end    

我在模型中有字段:

searchable do
text :description
boolean :dining_room
boolean :bath
boolean :master_bedroom
end

我的观点如下:

<%= form_tag projects_path, :method => :get do %>

<%= text_field_tag :search, params[:search] %>
<%= check_box_tag :bath, 'true'%>
<%= submit_tag "Search", :name => nil %>

<% end %>

【问题讨论】:

    标签: ruby-on-rails solr sunspot sunspot-rails sunspot-solr


    【解决方案1】:

    变量命名出错。

    【讨论】:

    • 想详细说明这个错误在哪里?
    • 过去两年我都忘记了 :)。我依稀记得是其中一个变量拼写错误。啊,在上面的代码中:with(:bath, params[:p_bath]) if params[:p_bath].present?它使用“p_”,而我的其他代码没有。
    猜你喜欢
    • 1970-01-01
    • 2014-03-29
    • 2014-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多