使用ES也有一段时间了,补上一篇之前就应该写好的博客。
介绍
Elasticsearch是一款分布式搜索引擎,支持在大数据环境中进行实时数据分析。它基于Apache Lucene文本搜索引擎,内部功能通过REST API暴露给外部。除了通过HTTP直接访问Elasticsearch,还可以通过支持Java、JavaScript、Python及更多语言的客户端库来访问。同时也支持集成Apache Hadoop环境。
本文对Mac OS下安装ES和相关插件进行介绍。
关于ES中的概念和传统数据库进行对比,便于初学者对这些名词有个大体了解。
http://www.jianshu.com/p/05cff717563c
https://github.com/siddontang/elasticsearch-note
http://es.xiaoleilu.com/
https://www.elastic.co/guide/en/elasticsearch/guide/current/getting-started.html
节点(Node):节点是一个ES的实例,一般一台主机上部署一个节点
集群(Cluster):集群由若干节点组成,和任意节点的通信等价于和集群的通信
分片(Shard):一个索引会分成多个分片存储,分片数量在索引建立后不可更改
副本(Replica):副本是分片的一个拷贝,目的在于提高系统的容错性和搜索的效率
索引(Index):类似数据库的库
类型(Type):类似数据库的表
文档(Document):类似数据库的行,包含一个或多个Field
字段(Field):搜索的最小单元,可通过Mapping定义不同的属性(比如可否被搜索)
相关概念:https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html
安装ES
- 解压、运行ES(前提是安装好java)
把下载的ES包解压,进到bin目录下,运行./elasticsearch。即可启动ES。 - 验证。
Elasticsearch启动后,可以通过访问如下url,来验证ES是否启动。出现下图则启动成功!
http://localhost:9200/
安装head插件
进到ES的bin目录下,运行如下安装命令:
./plugin install mobz/elasticsearch-head
发现在ES的安装目录下,会新增一个plugins/head文件夹。并打开:
http://localhost:9200/_plugin/head/ ,正常显示下图则安装成功
安装IK插件
官网:https://github.com/medcl/elasticsearch-analysis-ik/tree/2.x
下载2.x分支下的对应ES 2.4.0的版本。
下载的clone代码如下:
git clone -b 2.x https://github.com/medcl/elasticsearch-analysis-ik.git
运行:
1. cd elasticsearch-analysis-ik (进入clone的文件夹下)
2. mvn package (进行编译,前提是默认安装了maven)
把生成的target/releases/elasticsearch-analysis-ik-{version}.zip的文件拷贝到ES根目录下plugins/ik 文件夹,进行解压。最后重新运行elasticsearch。不报错则安装成功。
安装SQL插件
根据ES版本安装,参考:https://github.com/NLPchina/elasticsearch-sql
验证并进行搜索:http://localhost:9200/_plugin/sql/
在浏览器中输入:
http://localhost:9200/_sql?sql=select * from ik_test limit 10
在终端输入:
curl -XGET 'http://localhost:9200/_sql?sql=select%20*%20from%20ik_test%20limit%2010'
返回如下: