2019独角兽企业重金招聘Python工程师标准>>>
基本概念
- Cluster:由多个Node组成,默认名字是elasticsearch。
- Node:是集群单独的一个server,用来存储数据,参与cluster的索引和自动扩展,在一个cluster中可以有任意个node
- Index:Document的集合,在一个Cluster中,可以有任意个Index
- Type:在Index内部,可以有一个或多个Type
- Document:索引的基本单元
- Shared:一个Index可能索引的文件特别大,例如1TB,磁盘放不下,可以放到多个Shared里面,shared用来分割Index
- Replica:Shared的备份,实现高可用
可以认为一条典型的记录构成如下:
Index/Type/Id -> Document
安装
单机版,CentOS+JDK1.8,Elastic2.4
- 下载elastic-2.4
curl -L -O https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.4.0/elasticsearch-2.4.0.tar.gz
- 解压
tar -xvf elasticsearch-2.4.0.tar.gz
- 进入bin目录,然后启动
cd elasticsearch-2.4.0/bin
./elasticsearch
常用状态查询接口
以{}包围的是变量
- 查看集群状态
curl 'localhost:9200/_cat/health?v'
- 查看集群所有节点
curl 'localhost:9200/_cat/nodes?v'
- 查看所有的索引
curl 'localhost:9200/_cat/indices?v'
- 查看索引内容
curl 'localhost:9200/{NameOfIndex}/_search?q=*&pretty'
索引的增删改查
- 查询所有索引
curl 'localhost:9200/_cat/indices?v'
- 创建一个索引
curl -XPUT 'localhost:9200/{NameOfIndex}?pretty'
- 删除一个索引
curl -XDELETE 'localhost:9200/{NameOfIndex}?pretty'
- 创建一个Document
curl -XPUT 'localhost:9200/{NameOfIndex}/{NameOfType}/{Id}?pretty' -d '{JsonContent}'
//例如:
curl -XPUT 'localhost:9200/customer/external/1?pretty' -d '
{
"name": "John Doe"
}'
- 查询一个Document
curl -XGET 'localhost:9200/{NameOfIndex}/{NameOfType}/{Id}?pretty'
- 删除一个Document
curl -XGET 'localhost:9200/{NameOfIndex}/{NameOfType}/{Id}?pretty'
- 更新一个Document
curl -XPOST 'localhost:9200/{NameOfIndex}/{NameOfType}/{Id}/_update?pretty' -d '{UpdatedJsonContent}'
- 按关键词搜索
// 查询所有关键词
curl 'localhost:9200/{NameOfIndex}/_search?q=*&pretty'
转载请注明出处:https://my.oschina.net/serverx