# != not working in search query (thinking sphinx)

**URL:** <https://www.ruby-forum.com/t/not-working-in-search-query-thinking-sphinx/168701>\
**Category:** Rails\
**Created:** [May 24, 2009, 5:13pm UTC](https://www.ruby-forum.com/t/not-working-in-search-query-thinking-sphinx/168701 "2009-05-24T17:13:25Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![staypufd](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecd19e/32.png) [@staypufd](https://www.ruby-forum.com/u/staypufd)\
**Post date:** [May 24, 2009, 5:13pm UTC](https://www.ruby-forum.com/t/not-working-in-search-query-thinking-sphinx/168701/1 "2009-05-24T17:13:25Z")

</div>

I have a int field in my database and would like to check if it’s not  
0. Apparently the != in the condition is not working. I’m I doing  
something wrong? I tried different ways with no luck. Can anyone help?

these are the options I tried

@allPost = Post.search params[:search], :conditions =\> â€¨[“account\_status  
!= 0”]  
@ allPost = Post.search params[:search], :conditions =\>  
â€¨[“account\_status != ?”, 0]  
@ allPost = Post.search params[:search], :conditions =\>  
â€¨[“account\_status IS NOT ?”, 0]  
@ allPost = Post.search params[:search], :conditions =\>  
â€¨[“account\_status \< ?”, 1]

thanks

---

<div class="post-metadata">

**Author:** ![staypufd](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecd19e/32.png) [@staypufd](https://www.ruby-forum.com/u/staypufd)\
**Post date:** [May 24, 2009, 5:20pm UTC](https://www.ruby-forum.com/t/not-working-in-search-query-thinking-sphinx/168701/2 "2009-05-24T17:20:12Z")

</div>

Looks like I am one step ahead of you Sam, I learned this one yesterday:

[http://www.ruby-forum.com/topic/187676#new](http://www.ruby-forum.com/topic/187676#new)

Look a few posts down for the series of “67 != 67”

Anyway, the problem is that w/ a HTTP request everything is received as  
a string. So:

account\_status.to\_i

---

<div class="post-metadata">

**Author:** ![staypufd](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecd19e/32.png) [@staypufd](https://www.ruby-forum.com/u/staypufd)\
**Post date:** [May 24, 2009, 6:22pm UTC](https://www.ruby-forum.com/t/not-working-in-search-query-thinking-sphinx/168701/3 "2009-05-24T18:22:36Z")

</div>

Still not working. I tried

@ allPost = Post.search params[:search], :conditions  
=\>[“account\_status.to\_i != ?”, 0]

@ allPost = Post.search params[:search], :conditions  
=\>“account\_status.to\_i != 0”

Mk 27 wrote:

> Looks like I am one step ahead of you Sam, I learned this one yesterday:
> 
> [How to pass parameters with remote\_function - Rails - Ruby-Forum](http://www.ruby-forum.com/topic/187676#new)
> 
> Look a few posts down for the series of “67 != 67”
> 
> Anyway, the problem is that w/ a HTTP request everything is received as  
> a string. So:
> 
> account\_status.to\_i

---

<div class="post-metadata">

**Author:** ![staypufd](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ecd19e/32.png) [@staypufd](https://www.ruby-forum.com/u/staypufd)\
**Post date:** [May 24, 2009, 8:06pm UTC](https://www.ruby-forum.com/t/not-working-in-search-query-thinking-sphinx/168701/4 "2009-05-24T20:06:34Z")

</div>

On May 24, 5:22 pm, Sam G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> Still not working. I tried
> 
> @ allPost = Post.search params[:search], :conditions  
> =\>[“account\_status.to\_i != ?”, 0]
> 
> @ allPost = Post.search params[:search], :conditions  
> =\>“account\_status.to\_i != 0”

Have a look at the documentation for sphinx/thinking sphinx - this  
isn’t activerecord any more, or SQL. To quote the thinking sphinx  
docs:

> Please keep in mind that Sphinx does not support SQL comparison operators – it has its own query language. The  
> :conditions option must be a hash, with each key a field and each value a string.

In addition, :conditions is for doing full text searches against  
specific columns you have indexed - for filtering on attribute values  
you need to use the :with option.

Fred
