Sunspot `LIKE` query

Estou a usarsunspot. Como posso executar umLIKE inquerir LIKE %q%)? Eu gostaria de fazer algo assim:

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

ao invés de

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

que funciona parcialmente para mim. Analisando osunspot código, encontrei este trecho de código:

class StartingWith < Base
  private

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

Ele basicamente gera o seguinte hash de pesquisa de manchas solares:

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*"]} 

No caso de não haver uma maneira mais simples de implementarLIKE %query%, como devo criar uma nova classeLike com o métodoto_solr_conditional que gera a lógica SOLR?

questionAnswers(1)

yourAnswerToTheQuestion