When multiples connections are defined, sometimes the Search behavior use a wrong one.
This happens because the Query::loadRoot() method calls the Manager::getConnectionForComponent(), which returns the bound connection for the root component (like ModelIndex in this case), but the connection for this component is never bound.
The following and attached patch solved the issue for me.
Note : we can't use directly
$this->_options['connection'] = $this->_options['table']->getConnection();
because I sometimes found the getConnection() returns the wrong connection (I didn't looked why).