Pat --

Good day.

Thank you for the prompt response. 
I was unable to get the logic to work with the setting of the NULL values 
as a boolean. I will research it more and see if I can find out the issue.

I did use your second proposition and have now successfully found the NULL 
values by using your logic provided:

  has welcome_call_made

  Account.search :with => {:need_welcome_call => 0}

Thank you again for the response and the software.

Have a blessed day,
Damon 


On Friday, February 19, 2016 at 11:45:59 PM UTC-6, Pat Allan wrote:
>
> Hi Damon
>
> To be honest, I’m not quite sure what the problem is - everything you’ve 
> described thus far looks correct to me.
>
> Perhaps one thing it’s worth trying is using an IF statement in your 
> attribute definition, because MySQL’s boolean columns (boolean in Rails’ 
> context, anyway) are integer values of 0 and 1, and that’s the same in 
> Sphinx, so perhaps it’s worth returning an integer instead:
>
>   has “IF(welcome_call_made IS NULL, 1, 0)”, :as => :need_welcome_call, 
> :type => :boolean
>
> An alternative, though not as obvious when searching, is to have the 
> column as a timestamp attribute, and NULL values will be stored as 0:
>
>   has welcome_call_made
>
>   Account.search :with => {:need_welcome_call => 0}
>
> Hope this helps,
>
> — 
> Pat
>
> On 20 Feb 2016, at 4:29 AM, Damon Hill <[email protected] <javascript:>> 
> wrote:
>
> I have researched and read many posts on this and I thought I had found 
> the solution, but to no avail. 
>
> I have several fields or attributes that can be null. A null value 
> signifies we need to perform some action on these entities, such as 
> "welcome_call_needed". Once the call is made, a timestamp for when the call 
> was made is added to the attribute. 
>
> Here is my latest attempt at finding those attributes with null values. 
>
> In my Account index file I have :
>
> ThinkingSphinx::Index.define(:account,
>     :with => :active_record,
>     :delta => ThinkingSphinx::Deltas::DelayedDelta)  do
>   
>      ............
>
>      has "welcome_call_made IS NULL", :as => :need_welcome_call, :type => 
> :boolean
>
>      ............
>
> end 
>
> MySQL query as follows in the console: 
>
> mysql> select count(*) from accounts WHERE welcome_call_made is NULL;
> +----------+
> | count(*) |
> +----------+
> |     3989 |
> +----------+
> 1 row in set (0.00 sec)
>
>
> The query from the Rails 3.2.8 Console produces:
>
> irb(main):005:0> accounts = Account.search :with => { :need_welcome_call 
> => true }
> => []
>
> I am using Thinking Sphinx 3.1.4 and Ruby 1.9.3-p547 along with Rails 
> 3.2.8 and MySQL 5.6. I am certain I am missing something very elementary. 
> Sphinx is phenomenal and if I can get passed this last small hurdle it will 
> have greatly improved the performance/response time in our app.
>
> Thanks again for the assistance and the code.
>
> Damon 
>
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Thinking Sphinx" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> To post to this group, send email to [email protected] 
> <javascript:>.
> Visit this group at https://groups.google.com/group/thinking-sphinx.
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Thinking Sphinx" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/thinking-sphinx.
For more options, visit https://groups.google.com/d/optout.

Reply via email to