Search code examples
ruby-on-rails-3sphinxthinking-sphinx

Thinking Sphinx Scope Returning mix of Results and "blanks"


Controller:

@sites = Site.inspections_enabled_controllers_search.search("test")

@sites.each do |s|
    if s == nil
        puts "WHAT THE ...?"
    end
    ap s #print out the site
end

Model:

has_many :inspections_enabled_controllers, 
            :class_name => 'Controller', 
            :conditions => ['controllers.inspections_enabled = ?', true]

sphinx_scope(:inspections_enabled_controllers_search) {
    {
        :joins => :inspections_enabled_controllers
    }
}

Returns:

#<Site:0x000000114618b8> {
              :id => 156,
            :name => "Test Site"
}
WHAT THE ...?
nil
WHAT THE ...?
nil
WHAT THE ...?
nil
#<Site:0x000000111c41a0> {
              :id => 213,
            :name => "TestRail V1.5 - SmartLine"
}
WHAT THE ...?
nil
WHAT THE ...?
nil
WHAT THE ...?
nil
WHAT THE ...?
nil
#<Site:0x00000011461200> {
              :id => 220,
            :name => "Activation Testing"
}

NOTICE the total of SEVEN "-" which are simply empty items in an array.


Solution

  • This worked for me

    @sites = Site.inspections_enabled_controllers_search.search("test", :retry_stale => 1)
    

    Reference: http://pat.github.com/ts/en/searching.html#nils