This scenario occurs if you have a one-way trust established and are performing a search with a user from the trusted domain.
One Way Trust DiagramIn order to rectify this situation, you’ll have to configure your Search Service Application to store ACLs in Claims format. To do this, you’ll have to use PowerShell (credit goes to Sladecross for this).
$SearchApp = Get-SPServiceApplication %searchGUID% $SearchApp.setproperty(“ForceClaimACLs”, 1)
Replace %searchGUID% with the GUID of the Search Service Application. Run this if you know the GUID:
Get-SPServiceApplication
After you perform a full crawl, you’ll see search results, regardless of which domain you’re logged in.
I’ve also witnessed situations where the search crawling account was a domain account from the trusted domain. This does allow users from the trusted domain to perform search. However, the problem with this is twofold because configuring a managed account with an account from the trusted domain causes all sorts of wacky things:
1.) The inability to access the Configure Managed Accounts screen from the UI. 2.) When logged-in from the other domain (the non-trusted one) you won’t see search results. It becomes an either/or situation.