Everyone has their own experience in Provisioning Search Service Application in SharePoint 2013. In my case, its not a smooth one but its not as bad as Provisioning User Profile Sync in SharePoint 2010.
I tried to gather all resources that I found in google which help me out in this article. Also, other articles that might help you out.
1. Apply patches to application and web servers as per suggestion below is a MUST.
Microsoft even updated their Server preparation documents.
2. It might be not a good / recommended practice to add “sysadmin” SQL role to your service account, but this is the easiest way to make it work.
3. If your search topology is not displaying a green checks and some error message like “Unable to retrieve topology component health states. This may be because the admin component is not up and running“. You might want to manually re-create the Search Topology and associate Search Service Application to your new Search Topology.
4. If your Search Host Controller Service stuck in “Starting” state.
5. Some people face the issue “Could not find or connect to hostcontroller on server SERVER-01. Exception: Could not connect to net.tcp://SERVER-01/ceres/hostcontroller/nettcp. The connection attempt lasted for a time span of 00:00:21.0369864. TCP error code 10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond“.
6. Best Practice way to Provision Search Service Application which utilize search, service, content access account.
7. Remember my earlier post to limit resources to noderunner.exe process, DON’T DO IT in production or if you want to make your Search Service Application works.
8. There are some powershell scripts to provision Search Service Application in SharePoint 2013. But the one that I used, tested and working found here.
Enjoy your reading and Hopefully it save you a lot of time…