• 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": "神雕大侠 难书"
          }
      } 
    }
  • 相关阅读:
    jQuery+ThinkPHP+Ajax实现即时消息提醒功能
    依赖注入(DI)
    控制反转(IoC)
    ajax以base64上传图片到django
    python 多进程、多线程、协程
    python3 实现tcp/udp局域网通信
    同源策略与跨域访问
    nginx+uwsgi阿里云ubuntu服务器上简单部署flask RESTful风格项目
    python3 实现 websocket server 解决中文乱码
    python IO 多路复用 epoll简单模型
  • 原文地址:https://www.cnblogs.com/pickKnow/p/11449596.html
Copyright © 2020-2023  润新知