ruby-on-rails ruby full-text-search sphinx thinking-sphinx

ruby on rails - ¿Cómo agrego la condición "IS NOT NULL" a una búsqueda de Thinking Sphinx?



ruby-on-rails full-text-search (1)

Estoy usando Thinking Sphinx para buscar texto completo, siguiendo este video .

Me gustaría hacer lo siguiente:

@articles = Article.search(params[:search], :conditions => "published_at IS NOT NULL", :order => :created_at)

El problema es que esto no funciona. Parece que el método de búsqueda solo acepta condiciones que son un hash. Lo intenté de varias maneras, pero no tengo ni idea de cómo puedo representar "published_at IS NOT NULL" como un hash ...


Se le dio la solución en Railscasts

Si desea que * todos * los resultados para ese modelo filtren los registros donde published_at IS NULL, agregue ''where'' published_at IS NOT NULL '''' a su bloque define_index.

Si es solo algunas veces, agregue published_at como un atributo, y luego sphinx debería almacenar fechas nulas como 0, para que pueda filtrar usando: without => {: published_at => 0}

La segunda solución era lo que necesitaba.