赞
踩
Kibana
是一个针对Elasticsearch mysql
的开源分析及可视化平台
,使用Kibana可以`查询、查看并与存储在ES索引的数据进行交互操作GET /_cat/indices
GET /_cat/indices?v
//返回结果说明
health status index uuid pri rep docs.count docs.deleted
健康状态 索引状态 索引 id 主分片 副本分片 文档数 删除
store.size pri.store.size
存储大小 主分片存储大小
// 创建索引
PUT /索引名
PUT /索引名
{
"settings": {
"number_of_shards": 1, # 主分片数量
"number_of_replicas": 0 # 副本分片数量
}
}
ES数据类型说明 //字符串类型 数字类型 小数类型 布尔类型 日期类型 keyword text integer long float double boolean date //创建索引及其映射 // 创建索引及映射 注:student为索引名 id、name、age、desc 为字段名 PUT /student { "settings": { "number_of_shards": 1, "number_of_replicas": 0 }, "mappings": { "properties": { "id":{ "type": "integer" }, "name":{ "type":"keyword" }, "age":{ "type": "double" }, "desc":{ "type": "text" } } } }
GET /products/_mapping
// 删除索引
DELETE /索引名
GET /student/_doc/1 (1为文档id)
GET /student/_doc/_search/
{
"query":{
"match_all":{}
}
}
// 此处 1为文档id、查询用到的就是这个id 不是下面那个id字段
POST /student/_doc/1
{
"id":1,
"name":"小明",
"age":"19",
"desc":"小明是学渣"
}
DELETE /student/_doc/1
//更新文档 不保留原字段
PUT /student/_doc/1
{
"name":"ipone"
}
//更新文档 保留原字段
POST /products/_doc/1/_update
{
"doc":{
"name":"明明"
}
}
//注:json格式必须是这样 不然会报错
POST /student/_doc/_bulk
{"index":{"_id":3}}
{"id":3,"name":"小李","age":"22","desc":"小李是混混"}
{"index":{"_id":"4"}}
{"id":4,"name":"陈陈","age":"33","desc":"陈陈是老师"}
POST /student/_doc/_bulk
{"update":{"_id":"2"}}
{"doc":{"name":"芳芳"}}
{"update":{"_id":"3"}}
{"doc":{"name":"李李"}}
POST /student/_doc/_bulk
{"delete":{"_id":"5"}}
{"delete":{"_id":"6"}}
Query DSL 利用Rest API传递JSON格式的请求体(Request Body)数据与ES进行交互
说白了 这个DSL就是复杂查询 包含一些分页查询、关键字查询、排序查询等操作
// 上文介绍到 ES的字符串类型分别为 keyword text ,keyword是不会进行分词存储的,也就是只有字段类型是text的时候, //才会出现上述情况。keyword必须用全部信息进行检索。 // desc字段是text类型,会进行分词, ES默认中文分词是按字分词 ,故文档中只要包含是这个字的都会返回 GET /student/_search { "query": { "term": { "desc": { "value": "是" } } } } // name 是keyword类型,故不会进行分词 必须使用全部信息检索。 GET /student/_search { "query": { "term": { "name": { "value": "小明" } } } }
// 参数说明 gt gte lt lte
// 大于 大于等于 小于 小于等于
GET /student/_search
{
"query": {
"range":{
"age":{
"gt":"19"
}
}
}
}
//该行为与分词无关
GET /student/_search
{
"query": {
"prefix": {
"name": {
"value": "小"
}
}
}
}
// 参数说明 ? *
// 匹配一个 匹配多个
GET /student/_search
{
"query":{
"wildcard": {
"name": {
"value": "小?"
}
}
}
}
GET /student/_search
{
"query": {
"ids": {
"values": ["1","2"]
}
}
}
//bool关键字 用来组合多个条件实现复杂查询 //must:相当于&& //should:相当于|| //must_not:相当于!不能满足任何一个 GET /student/_search { "query": { "bool": { "must": [ { "ids":{ "values":[1,2,3,4] } },{ "term":{ "desc":{ "value": "小" } } } ] } } }
//字段分词则按分词检索。
GET /student/_search
{
"query": {
"multi_match": {
"query": "小",
"fields": ["desc","name"]
}
}
}
// 默认10条
GET /student/_doc/_search/
{
"query":{
"match_all":{}
},
"size":5
}
//返回指定起始返回位置,和size实现分页
GET /student/_doc/_search/
{
"query":{
"match_all":{}
},
"size":5,
"from":0
}
// 参数说明 desc 降序 asc 升序 GET /student/_search { "query":{ "match_all":{} }, "sort":[ { "age":{ "order":"asc" } } ] }
GET /student/_doc/_search/
{
"query":{
"match_all":{}
},
"_source":["id","desc"]
}
待续
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。