Question

J'utilise Thinking Sphinx pour la recherche en texte intégral, après cette vidéo .

J'aimerais procéder comme suit:

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

Le problème est que cela ne fonctionne pas. Il semble que la méthode de recherche accepte uniquement les conditions qui sont un hachage. J'ai essayé de plusieurs façons, mais je ne sais pas comment je peux représenter "published_at IS NOT NULL". comme un hachage ...

Était-ce utile?

La solution

La solution a été fournie à l'adresse Railscasts

.
  

Si vous souhaitez que tous les * résultats * de ce modèle filtrent les enregistrements dans lesquels published_at EST NULL, ajoutez 'where " published_at IS NOT NULL ". à votre bloc define_index.

     

S'il ne s'agit que de temps en temps, ajoutez published_at en tant qu'attribut, puis sphinx stockera les dates NULL sous la forme de 0. Vous pourrez ainsi filtrer avec: without = > {: published_at = > 0}

La deuxième solution était ce dont j'avais besoin.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top