# 了解搜索
Elasticsearch 是一個建立在全文搜索引擎 [Apache Lucene(TM)](https://lucene.apache.org/core/) 基礎上的搜索引擎,可以說 Lucene 是當今最先進,最高效的全功能開源搜索引擎框架。
但是 Lucene 只是一個框架,要充分利用它的功能,你需要使用 JAVA,并且在你的程序中集成 Lucene。更糟的是,你需要做很多的學習了解,才能明白它是如何運行的,Lucene 確實非常復雜。
Elasticsearch 使用 Lucene 作為內部引擎,但是在你使用它做全文搜索時,只需要使用統一開發好的API即可,而并不需要了解其背后復雜的 Lucene 的運行原理。
當然 Elasticsearch 并不僅僅是 Lucene 那么簡單,它不僅包括了全文搜索功能,還可以進行以下工作:
- 分布式實時文件存儲,并將**每一個字段**都編入索引,使其可以被搜索。
- 實時分析的分布式搜索引擎。
- 可以擴展到上百臺服務器,處理PB級別的結構化或非結構化數據。
這么多的功能被集成到一臺服務器上,你可以輕松地通過客戶端或者任何你喜歡的程序語言與 ES 的 RESTful API 進行交流。
Elasticsearch 的上手是非常簡單的。它附帶了很多非常合理的默認值,這讓初學者很好地避免一上手就要面對復雜的理論,它安裝好了就可以使用了,用很小的學習成本就可以變得很有生產力。
隨著學習的深入,你還可以使用 Elasticsearch 更多高級的功能,整個引擎可以很靈活地進行配置。你可以根據自身需求來定制屬于你自己的 Elasticsearch。