Normally eZFind follow the fallback defined in SiteLanguageList (I don't know if the checkbox "use main language" as any effect). But this behaviour can be disabled with the SearchMainLanguageOnly in ezfind.ini
If I add eng-CA to the SiteLanguageList the search will work, but the checkbox is ignored. So this product will appear on the frontend when the checkbox is unchecked and there is no translation.
This is a bug, what should happen is that the indexing process takes this into account and *forces* an indexation of the main language versionin case there is "Use the main language if there is no prioritized translation." active
The downside is somewhat less good relevance in normal searches, but for related languages as your use-case indicates, it should not pose much of a problem
The current behaviour is somewhat intended, simply because the eZ Find backend is by default language sensitive.
So should I add something like this in the class ezfeZPSolrQueryBuilder and function buildLanguageFilterQuery. I only say this because if I add it to the 'SiteLanguageList' variable it will affect the rest of the site.