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": "神雕大侠 难书" } } }