Kibana

1,什么是KIbana

Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。相当于与可视化ElasticSearch的数据操作

2,安装

 

tar  -zxvf kibana-6.4.3-linux-x86_64.tar.gz

vim config/kibana.yml
# 将默认配置改成如下:
server.port: 5601
server.host: "192.168.178.110"
elasticsearch.url: "http:// 192.168.178.110:9200"

启动Kibana
./bin/kibana

http://192.168.212.179:5601/app/kibana

 

3,安装完成

 

 

4,点击Dev Tools,就可以操作ElasticSearch 的文档数据库

 

GET _search
{
  "query": {
    "match_all": {}
  }
}

## 创建索引
PUT /myindex

## 查询索引
GET /myindex


## 创建文档
## 已经创建则覆盖
## CAS 无锁机制,version 来标记
PUT /myindex/user/1
{
  "name":"chris",
  "sex":"male",
  "age":20
  
}

PUT /myindex/user/2
{
  "name":"sarah",
  "sex":"female",
  "age":28
}

## 获取文档
GET /myindex/user/1


## HEAD 返回状态码
HEAD /myindex/user/1

## 删除索引
DELETE  /myindex

## 查询索引下的类型的所有文档
GET /myindex/user/_search


## 查询多个id分别为1、2
GET /myindex/user/_mget
{
   "ids":["1","2"]
}

## 条件查询  年龄=20
GET /myindex/user/_search?q=age:20

## 条件查询  10<=年龄<=30
GET /myindex/user/_search?q=age[10 TO 30]

## 查询 10<=年龄<=30  并且年龄降序、从0条数据到第2条数据
GET /myindex/user/_search?q=age [10 TO 30]&sort=age:desc&from=0&size=2

## 查询 10<=年龄<=30  并且年龄降序、从0条数据到第2条数据,只显示name 和 age 字段
GET /myindex/user/_search?q=age[10 TO 30]&sort=age:desc&from=0&size=2&_source=name,age




### DSL 查询 post 一个完整的json请求体


## 精确查询姓名 
## term是代表完全匹配,即不进行分词器分析,文档中必须包含整个搜索的词汇
GET myindex/user/_search
{
  "query": {
    "term": {
      "name": "chris"
    }
  }
}

PUT /myindex/user/3
{
  "name":"sarah Linda",
  "sex":"female",
  "age":28
}


## 模糊查询 只包含其中一部分关键词就OK
## 只要名字中包含sarah 就会被查询到
GET /myindex/user/_search
{
  "from": 0,
  "size": 2, 
  "query": {
    "match": {
        "name": "sarah"
      }
  }
}


## 过滤查询
## filter 过滤

GET /myindex/user/_search
{
    "query": {
        "bool": {
            "must": [{
                "match_all": {}
            }],
            "filter": {
                "range": {
                    "age": {
                        "gt": 21,
                        "lte": 51
                    }
                }
            }
        }
    },
    "from": 0,
    "size": 10,
    "_source": ["name", "age"]

}


## 文档映射就是给文档中的字段指定字段类型、分词器。
GET /myindex/user/_mapping


##  string 可以分为text 和 keyword
##  text 可以分词查询 keyword 不可以分词查询



PUT /myindex2

GET /myindex2


## 指定文档类型的mapping 映射
## 相当于给字段指定数据类型,指定分词器

POST /myindex2/_mapping/user
{
  "user":{
    "properties":{
       "age":{
         "type":"integer"
       },
        "sex":{
         "type":"text"
       },
       "name":{
         "type":"text",
         "analyzer":"ik_smart",
         "search_analyzer":"ik_smart"
       },
       "city":{
         "type":"keyword"
      
       }
    }
  }
  
}


PUT /myindex2/user/1
{
  "age":20,
  "sex":"male",
   "name":"神雕大侠",
   "city":"幽燕"
  
}


PUT /myindex2/user/2
{
  "age":20,
  "sex":"male",
   "name":"神雕侠",
   "city":"南度"
  
}


GET /myindex2/user/2

GET /myindex2/user/_mapping

GET /myindex2/user/_search
{
  "from": 0,
  "size": 2, 
  "query": {
    "match": {
        "name": "神雕大侠 难书"
      }
  } 
}

 

posted @ 2019-09-02 22:55  Chris,Cai  阅读(647)  评论(0编辑  收藏  举报