Building a Search role
Building a Search role is only necessary if you are using a search provider that can be hosted on a separate server, such as Solr or Coveo. If you are using Lucene as your search solution, then you must either index on every front-end server, or index on one server and copy that index to the other servers being used.
A search engine such as Solr provides greater flexibility, because the search engine can be centralized on the network, and data can be indexed once and made available everywhere. It is strongly recommended that you use Solr in all production scenarios, and to use Lucene for development only. Indexing is a very CPU intensive process that could affect the performance of your CM servers. If your search indexing is a long-running process, you should consider setting up a separate Sitecore instance that is only used for indexing
For information on setting up Solr 4.9, go to https://archive.apache.org/dist/lucene/solr/ref-guide/apache-solr-ref-guide-4.9.pdf
For the Sitecore documentation on setting up Solr, see the Sitecore Search Scaling Guide.
For the required configuration files to set up Solr, go to https://dev.sitecore.net/Downloads/Sitecore_Experience_Platform/8_0.aspx