请描述Elasticsearch搜索引擎的基础架构。
Elasticsearch是一个基于Apache Lucene库构建的分布式搜索引擎，并使用RESTful API进行交互。它的基础架构包括以下组件：

- 节点：Elasticsearch是一个分布式系统，由多个节点组成，每个节点都是一个可用于存储数据和执行搜索操作的物理或虚拟机器。
- 索引：每个节点可以存储一个或多个索引，每个索引代表一组相关的文档，并包含了将其划分为可搜索和分析的片段（分片）。
- 分片：一个索引被划分成若干片段，称为分片，每个分片都是一个完整的、独立的Lucene索引，保存着其分配的文档的部分信息。
- 副本：为了提高可用性和性能，每个分片都可以有若干个副本。
- 集群：由一个或多个节点组成的逻辑组，可用于通过加入或删除节点来扩大或缩小搜索引擎的规模。
- 路由：搜索请求被解析并路由到目标节点（可能是一个或多个节点），匹配相关的索引和分片，并将结果汇总后返回给客户端。

以上组件一起构成了Elasticsearch搜索引擎的基础架构。