简介
elasticsearch(下面称为ES)是一个基于Lucene的搜索服务器.
环境:CentOS7,jdk1.8
由于ES不在yum的本地源,所以我们需要添加ES的yum配置。
cd /etc/yum.repos.d/
vi elastic.repo
输入下面的内容:
[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1
保存并退出。
接下来就可以安装ES了。
yum install elasticsearch
安装完成以后,就需要配置和启动ES服务器进程
/sbin/chkconfig --add elasticsearch
systemctl start elasticsearch
查看状态,看ES是否启动成功
systemctl status elasticsearch
运行测试
curl -X GET localhost:9200
返回json如下
{
"name" : "Amalgam",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "q1JTidLuTNecwBbFNJCUFQ",
"version" : {
"number" : "2.4.1",
"build_hash" : "c67dc32e24162035d18d6fe1e952c4cbcbe79d16",
"build_timestamp" : "2016-09-27T18:57:55Z",
"build_snapshot" : false,
"lucene_version" : "5.5.2"
},
"tagline" : "You Know, for Search"
}
到此ES安装启动成功
通过IP访问ES的配置
打开/etc/elasticsearch/elasticsearch.yml
vim /etc/elasticsearch/elasticsearch.yml
network.host,把后面改为0.0.0.0或者虚拟机ip地址,这样就可以在window系统用浏览器通过访问虚拟机的ip
安装完成以后,我们来了解一下ES的基本概念。
首先我们先了解一下ES,Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例。
1.Node 与 Cluster:
单个 Elastic 实例称为一个节点(node)。一组节点构成一个集群(cluster)。
2.index:
Elastic 会索引所有字段,经过处理后写入一个反向索引(Inverted Index)。查找数据的时候,直接查找该索引。
所以,Elastic 数据管理的顶层单位就叫做 Index(索引)。它是单个数据库的同义词。每个 Index (即数据库)的名字必须是小写。
# 查看当前节点的所有 Index。
$ curl-X GET'http://localhost:9200/_cat/indices?v'
3.Document:
Index 里面单条的记录称为 Document(文档)。许多条 Document 构成了一个 Index。
Document 使用 JSON 格式表示 {"user":"张三","title":"工程师","desc":"数据库管理"}
4.Type
Document 可以分组,比如weather这个 Index 里面,可以按城市分组(北京和上海),也可以按气候分组(晴天和雨天)。这种分组就叫做 Type,它是虚拟的逻辑分组,用来过滤 Document。
#下面的命令可以列出每个 Index 所包含的 Type。
$ curl'localhost:9200/_mapping?pretty=true'