es安装
参考https://blog.csdn.net/okiwilldoit/article/details/137107087
 再安装kibana,在它的控制台里写es查询语句。
 
es指南
es权威指南-中文版:
 kibana用户手册-中文版:
 es中文社区
 es参考手册API
 es客户端API
es查询语句
# 查询es版本
GET /
# 查询集群下所有index
GET /_cat/indices?v
# 查询节点
GET _cat/nodes?format=json
# 查询某个index的结构
GET /index_name/_mapping?pretty
# 查询作者为"猫腻"的作品,取出4个字段
GET /index_name/_search
{
  "query" : { 
    "match" : { 
      "authorname" : "猫腻" 
    }
  },
  "_source": ["ID","title","authorname","desc"]
}
 
es bool查询
Bool查询则可以实现查询的组合,并支持多字段查询和精确匹配、模糊匹配、范围匹配等多种查询方式。下面我们来看一下Bool查询的基本语法:
{
  "query": {
    "bool": {
      "must": [
        { "match": { "title": "Search" }},
        { "match": { "content": "Elasticsearch" }}
      ],
      "filter": [
        { "term":  { "status": "published" }},
        { "range": { "publish_date": { "gte": "2019-01-01" }}} 
      ],
      "should": [
        { "match": { "author": "John" }},
        { "match": { "author": "Doe" }}
      ],
      "must_not": [
        { "match": { "category": "Marketing" }}
      ]
    }
  }
}
 
must:表示必须匹配的条件,相当于AND。
 filter:表示过滤条件,可以提高查询效率,相当于WHERE。
 should:表示应该匹配的条件,可以有多个,相当于OR。
 must_not:表示必须不匹配的条件,相当于NOT。
在这个查询中,必须同时匹配 title 和 content 字段,同时 status 字段必须为 published,publish_date 字段必须大于等于 2019-01-01,并且 author 字段必须匹配 John 或者 Doe 中的至少一个,同时 category 字段不能匹配 Marketing
ES SQL
6.3版本后支持SQL,但是不支持join等复杂操作。
 https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-spec.html
 https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-search-api.html
POST _sql?format=txt
{
  "query": "SELECT author, title FROM index_name WHERE MATCH(title, '猎鬼') ORDER BY updateTime DESC LIMIT 100"
}
 
ES监控
通过kibana可以看到es的监控信息,包括每个索引的查询耗时等。
 



















