делает трюк. Спасибо!

ользуюsunspot, Как я могу запуститьLIKE запрос (LIKE %q%)? Я хотел бы сделать что-то вроде этого:

 @search = Sunspot.search(User) do |q|
   q.text_fields { with(:company_name).like(params[:q]) }
 end.results

вместо:

@search = Sunspot.search(User) do |q|
  q.text_fields { with(:company_name).starting_with(params[:q]) }
end.results

что частично работает для меня. Рассматриваяsunspot код, я нашел этот кусок кода:

class StartingWith < Base
  private

  def to_solr_conditional
    "#{solr_value(@value)}*"
  end
end

Он в основном генерирует следующий хэш поиска пятен:

Sunspot.search(User) do |q| 
  q.text_fields { with(:company_name).starting_with("sta")} }
end

=> Sunspot::Search:{:q=>"*:*", :fq=>["type:User", "company_name_text:sta*"]} 

В случае, если нет более простого способа реализацииLIKE %query%как мне создать новый классLike с методомto_solr_conditional которая генерирует логику SOLR?

Ответы на вопрос(0)

Ваш ответ на вопрос