I have had this problem a while, especially through the iOS 9 and iOS 10 versions. Every time I pull down for searching from the springboard and type in a name of my contacts, iOS somehow lists my oldest and most unused as "top hits". Eg. if I have two contacts with a similar name, and one I have called 100 times the last month, and the other I haven't called or texted in 5 years, it is only the inactive one that is listed as a Top Hit. I have to scroll much further down to find the person I alway call.
Is there some way to reset the contacts so that people I actively call and text will appear under Top Hit?
I have tried suggestions from New iOS9 Spotlight search not finding contacts but didn't help.
My contacts are synced to iCloud and have been so for some years through multiple upgrades of OS X and iOS versions.