Elasticsearch是一个实时分布式搜索和分析引擎。它让你以前所未有的速度处理大数据成为 可能。
Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域, Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。 但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到 你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如 何工作的。
Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是 它的目的是通过简单的 RESTful API 来隐藏Lucene的复杂性,从而让全文搜索变得简单。
不过,Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它:
分布式的实时文件存储,每个字段都被索引并可被搜索 分布式的实时分析搜索引擎 可以扩展到上百台服务器,处理PB级结构化或非结构化数据。
运行Elasticsearch
Elasticsearch已经准备就绪,执行以下命令可在前台启动:
Elasticsearch权威指南(中文版)
18安 装
./bin/elasticsearch
启动后,如果只有本地可以访问,尝试修改配置文件 elasticsearch.yml
中network.host(注意配置文件格式不是以 # 开头的要空一格, : 后要空一格) 为 network.host: 0.0.0.0
如果想在后台以守护进程模式运行,添加 -d 参数。
打开另一个终端进行测试:
你能看到以下返回信息:
这说明你的ELasticsearch集群已经启动并且正常运行,接下来我们可以开始各种实验了。
集群和节点
节点(node)是一个运行着的Elasticsearch实例。集群(cluster)是一组具有相 同 cluster.name 的节点集合,他们协同工作,共享数据并提供故障转移和扩展功能,当然一 个节点也可以组成一个集群。
你最好找一个合适的名字来替代 cluster.name 的默认值,比如你自己的名字,这样可以防止 一个新启动的节点加入到相同网络中的另一个同名的集群中。
你可以通过修改 config/ 目录下的 elasticsearch.yml 文件,然后重启ELasticsearch来做到这 一点。当Elasticsearch在前台运行,可以使用 Ctrl-C 快捷键终止,或者你可以调 用 shutdown API来关闭: