Lucene and Elasticsearch are two completely different application classes.
Lucene is a library that implements an inverted index, and search and ranking on it using the base query language Lucene. This is not a separate application that you can simply run and use (index documents, search for them, extract them, ...).
Elasticsearch is a distributed server built on top of Lucene. Elasticsearch gives you a nice REST API that you can use to index, search, and retrieve documents. It also implements a query language with features far superior to Lucene. It is also a distributed server, which means that you can run the Elasticsearch server as a cluster on multiple machines, and it will automatically take care of the distribution and replication of data between them.
Similarly, Solr is also a search engine built on top of Lucene.
So it really depends on what exactly you want to achieve. If it just implements the full-text search feature built into an existing application, then Lucene may be all you need. On the other hand, if you want to implement, let them say the search engine for your site about movies, then you will be much better off using Elasticsearch or Solr.
source share