Sunspot consulta `LIKE`

Estoy usandosunspot. ¿Cómo puedo ejecutar unaLIKE consulta LIKE %q%)? Me gustaría hacer algo como esto:

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

en lugar de

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

que en parte funciona para mí. Revisando elsunspot código, encontré este fragmento de código:

class StartingWith < Base
  private

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

Básicamente genera el siguiente hash de búsqueda 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*"]} 

En caso de que no haya una forma más sencilla de implementarLIKE %query%, ¿cómo debo crear una nueva claseLike con el métodoto_solr_conditional que genera la lógica SOLR?

Respuestas a la pregunta(1)

Su respuesta a la pregunta