I must admit, I don’t write searches for our Sitecore sites that often. Search got totally revamped in 7.0, and introduced LINQ based providers, with Sitecore ContentSearch. I recently had to rewrite the search for a site that is being re-done in 8.2, and since the information is a little old, I had a hard time finding a top-to-bottom information on how to set this up. Luckily, the community came to the rescue once again. I was able to find all the information from different resources, and I wanted to jot it down all in one place, for anyone trying to implement a basic Lucene based search for the first time. So, here it is.
First things first. A soup to nuts overview of the ContentSearch API by Søren Engel
https://soen.ghost.io/a-re-introduction-to-the-contentsearch-api-in-sitecore-part-1/
https://soen.ghost.io/a-re-introduction-to-the-contentsearch-api-in-sitecore-part-2/
https://soen.ghost.io/extending-the-default-contentsearch-functionality-in-sitecore/
http://www.bekagool.com/news-and-insights/sitecore-7-search-a-quickstart-guide
Setting up an Index – getting all the settings correct in the index configuration
http://www.newguid.net/sitecore/2015/configure-sitecore-content-search-indexes/
http://www.mattburkedev.com/sitecore-7-contentsearch-tips/
Click to access sitecore_search_and_indexing_guide_sc75-a4.pdf
Doing the actual search – this includes computed Fields, FieldReaders, and using ContentSearch for more real world use cases.
Indexing DateTime fields – Sitecore 7 Content Search
http://getfishtank.ca/blog/building-dynamic-content-search-linq-queries-in-sitecore-7
https://laubplusco.net/custom-field-indexing-new-sitecore-7-content-search-api/
In addition, there is a massive list of help links for Sitecore: http://sitecore.link/ – which also includes a TON of links on search. After you are done with the above, go ahead and peruse the Search section of the site for even more goodies!