When I search for an Account that has 'x' number of contacts, the Search results that come up using Global Search (Top Header) shows only 1 Contact as a result. Why is this? Should it not show all the Contacts under that Account? I know I can generate a report, I'm just wondering why it works as it does.
Lookup fields are indexed, but not in the "Search" sense: the values are indexed by ID to make it easy to find records when you use a lookup, such as
SELECT Id, Name, AcccountId FROM Contact WHERE AccountId in :somevalues. This is because a change to an account name would cause a massive re-indexing call otherwise. Your search would return values where the search keyword was also present in another field, such as Description or Mailing Address (any field which can be searched upon). You cannot, nor should not, rely on searches returning all child records where a parent record matches the particular search.