zoukankan      html  css  js  c++  java
  • 5、Kibana操作ElasticSearch7.6.x

    elasticsearch7.x取消了type(类型的概念)对应数据库表的概念,指定不指定都可以

    1、创建索引和文档

    PUT 索引名
    {
    "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 0
    }
    }
    创建一个索引
    PUT /索引名/~类型~(可以不写)/id(不写的话是随机生成)
    {
      "name":"张三"
    }
    创建一个索引+数据
    PUT 索引名
    {
      "mappings": {
        "properties": {
          "name":{
            "type": "text"
          },
          "age":{
            "type": "long"
          },
          "birthday":{
            "type": "date"
          }
        }
      }
    }
    指定类型

    2、更新文档

    推荐使用POST更新

    #更新数据-PUT如果没有指定字段,会把之前的数据覆盖,相当于mysql中的replace
    PUT /movie/_doc/1
    {
        "purchase_name" : "嘻哈英熊",
        "director" : "王琦",
        "asset_year" : "2017",
        "set_duration" : 1,
        "synopsis" : "洗好澡真搞笑"
    }
    
    #POST更新,不会覆盖,推荐使用
    POST  /{index}/_update/{id}
    POST /movie/_update/1
    {
      "doc":{
          "director":"王琦,葛优"
      }
    }
    更新文档

    3、删除索引和文档

    #删除一个索引
    DELETE {index}
    删除索引
    #删除指定id
    DELETE {index}/_doc/{id}
    删除文档

    4、查询

    包括模糊查询、精确查询、条件查询、分页、排序、高亮查询

    GET /索引名/类型(默认_doc)/id
    简单的搜索
    #条件查询 = SELECT * FROM movie WHERE purchase_name = '%s'
    GET 索引/_search
    {
      "query": {
        "match": {
          "{FIELD}": ""
        }
      }
    }
    条件查询
    #条件查询  SELECT purchase_name, director FROM movie WHERE purchase_name = '%s'
    GET movie/_search
    {
      "query": {
        "match": {
          "purchase_name": ""
        }
      },
      "_source": ["purchase_name", "director"]
    }
    指定显示字段查询
    #排序  order_by 
    GET 索引名/_search
    {
      "query": {
        "match": {
          "purchase_name": ""
        }
      },
      "sort": [
        {
          "{FIELD}": {
            "order": "desc"
          }
        }
      ]
    }
    排序
    #分页查询----limit限制显示数据-- from从第几个开始, size返回多少条数据
    GET 索引名/_search
    {
      "query": {
        "match": {
          "purchase_name": ""
        }
      },
      "from": 0,
      "size": 1
    }
    分页
    #布尔值查询must 多条件查询  and
    GET movie/_search
    {
      "query": {
        "bool": {
          "must": [
            {
              "match": {
                "purchase_name": "大家"
              }
            },
            {
              "match": {
                "asset_year": "1991"
              }
            }
          ]
        }
      }
    }
    布尔值查询must=and
    #should   -or
    GET movie/_search
    {
      "query": {
        "bool": {
          "should": [
            {
              "match": {
                "purchase_name": ""
              }
            },
            {
              "match": {
                "asset_year": "1991"
              }
            }
          ]
        }
      }
    }
    布尔值查询should=or
    #filter 过滤  gte大于等于  lte小于等于
    GET movie/_search
    {
      "query": {
        "bool": {
          "should": [
            {
              "match": {
                "purchase_name": ""
              }
            },
            {
              "match": {
                "asset_year": "1991"
              }
            }
          ],
          "filter": {
            "range": {
              "set_duration": {
                "gte": 1,
                "lte": 20
              }
            }
          }
        }
      }
    }
    filter过滤查询
    #精确查询term直接通过倒排索引指定的词条进行精确查找
    #关于分词, term直接精确查询 ,  match, 使用分词器解析,(先分析分档,在通过分析的文档查询
    #俩个类型   text和keyword,  keyword类型的字段不会被分词器解析
    GET movie/_search
    {
      "query": {
        "term": {
          "FIELD": {
            "value": "VALUE"
          }
        }
      }
    }
    精确查询term
    #高亮查询   tags中写css样式
    GET movie/_search
    {
      "query": {
        "match": {
          "FIELD": "TEXT"
        }
      },
      "highlight": {
        "pre_tags": "",
        "post_tags": "",
        "fields": {
          "purchase_name": {}
        }
      }
    }
    高亮查询
  • 相关阅读:
    Ubuntu安装teamviewer(附带解决dpkg占用的代码)
    使用print时出错 SyntaxError: Missing parentheses in call to 'print' Did you mean print("Usage....
    非root用户(普通用户)安装CMake
    Permanently added the RSA host key for IP address '13.229.188.59' Permission denied (publickey)fatal
    django6-admin
    django6-信号
    django6-缓存
    django6 -中间件
    天津去哪玩
    django--->form表单
  • 原文地址:https://www.cnblogs.com/yuanfang0903/p/13540594.html
Copyright © 2011-2022 走看看