【问题标题】:Rails Sunspot Search by boolean nameRails 太阳黑子按布尔名称搜索
【发布时间】:2014-09-19 02:25:13
【问题描述】:

我正在使用带有 Rails 4 的 Sunspot Search,它运行良好,只有一件事我无法弄清楚,经过几天的头撞墙后,我决定在这里问。

我有一个具有一些布尔属性的模型用户。我想这样当我搜索属性名称时,如果属性为真,搜索结果将返回具有该属性的所有对象。

除了 'true' 和 'false' 之外的字符串属性和实际值非常适合搜索。

我的用户模型(user.rb):

class User << ActiveRecord::Base

 searchable do
  text :zip, :name, :email
  boolean :cpr
  boolean :first_aid
  boolean :survival_kit
 end

end

我的搜索控制器 (search_controller.rb)。我正在使两个模型可搜索:

class SearchController << ApplicationController

 def search

  @search = Sunspot.search(User, CoolingCenter) do
   fulltext params[:search]
  end

  @results = @search.results

  respond_to do |format|
   format.json { render json: @results}
   format.html { render '_results', layout: true }
  end

 end

end

例如,如果我搜索“cpr”,搜索结果将是所有具有属性 :cpr = true 的用户。

非常感谢您的帮助!

【问题讨论】:

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


    【解决方案1】:

    尝试在fulltext params[:search]之后添加条件:

    fulltext params[:search]

    with :cpr, true

    with :first_aid, true

    with :survival_kit, true

    【讨论】:

    • 我以前试过这个。这只会限制搜索,它不会使属性名称可搜索..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 2015-12-20
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多