重点内容
1. 对ES的了解
ES基础教程
ES初学了解
ES初学必看
读完这两篇文章,大概会对ES有个简单的理解。主要明确索引、类、文档等定义以及他们之间的关系。另外,还要对相关的操作语句进行理解,不用背,其实和数据库的SQL语句的逻辑差不多。
ES学习社区:
国内: https://elasticsearch.cn/
国外:https://discuss.elastic.co/
2. Kibana的使用
Kibana简介:
Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看、交互存放在Elasticsearch索引里的数据,使用各种不同的图表、表格、地图等kibana能够很轻易地展示高级数据分析与可视化。
Kibana与Ubuntu操作的异同:
Ubuntu:curl -XPOST '192.168.***.***:9200/media/_delete_by_query?conflicts=proceed' -d
Kibana:POST /media/_delete_by_query?conflicts=proceed
由上可以看出,Kibana更简洁些。如果可以在Kibana上运行的话,那么在Ubuntu上运行将会很容易。
如何使用Kibana:先开启在Ubuntu上的Kibana服务(启动方法:找到kibana的文件夹,cd进入(cd kibana),再输入bin/kibana即可启动),然后观察启动成功后端口地址,最后在浏览器输入即可访问。
3. ES数据的增添删改
查询API使用方法:
ES的不同版本的API使用方法不同,因此主要查看官方的文档(右侧选择适合的版本):
https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html
以下为个人学习使用到的:
单条查询:
POST /media/_search?pretty
{
"query":{
"match":{
"query.m_insert_time": "2016-09-02"
}
}
}
查询所有:
POST /media/_search?pretty
{
"query": { "match_all": {} }
}
范围查询:
POST /media/_search?pretty
{
"query": {
"range": {
"@timestamp": {
"lt": "now-10d",
"format": "epoch_millis"
}
}
}
}
删除数据但不删除索引(单条删除):
POST /media/_delete_by_query?conflicts=proceed
{
"query": {
"range": {
"m_insert_time": {
"lt": "now-23d",
"format": "epoch_millis"
}
}
}
}
多条删除可以用bool,例:
"query": {
"bool": {
"must": [
{ "match": { "address": "mill" } },
{ "match": { "address": "lane" } }
]
}
}