zoukankan      html  css  js  c++  java
  • ElasticSearch常用命令

    一、索引(相当于数据库)

    1、建立名为 "test" 的索引

    PUT /test

    2、删除索引

    DELETE /test

    二、建立映射

    POST /test/product/_mapping?pretty
    {
       "product": {
          "properties": {
            "name": {
              "type": "keyword"
            },
            "time": {
              "type": "date",
              "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
            }
          }
        }
    }

    1、product为索引类型,相当于数据库的表。

    2、keyword 和 text 字段类型的区别:

      1)keyword 不会被分词器解析,可用于精确查询。

      2)text 会被解析,只用于模糊查询。

      3)这两种类型都保存字符串类型。

    三、查询

    1、查询索引映射

      查询名为 “test” 的映射

    GET /test/_mapping

    2、查询数据

    1)模糊查询

      ① 这里“match”可以模糊查询,原理是会先对搜索词进行分词,比如“我爱苹果”,被分为“我”、“爱”、“苹果”..这种的,含有相关词汇的会被检索出来。

    GET /test/product/_search
    {
      "query": {
        "match": {
          "name": "测试"
        }
      }
    }

      ②  但是对于数字和字母,用match必须得提前手动分词,这时候我们可以选择“wildcard”查询,它采用通配符,真正地实现SQL中的LIKE。

    {
        "query": {
            "wildcard": {
                "field": "*value*"
            }
        }
    }
    2)精确查询

      “term”用来精确查询,下列例子中,字段值必须 == “轮播图”才能被检索出来。

    GET /ggfw_es/ggfw_info/_search
    {
      "query": {
        "term": {
          "info_catalog": "轮播图"
        }
      }
    }

    四、新增和修改

    1、新增用POST

      下边的"1"表示id。

    POST /test/product/1
    {
      "name": "法外狂徒张三",
      "time": "2022-2-2"        
    }

    2、修改用PUT

      修改我就不多说了,就是把新增的POST改为PUT就行。需要注意的是使用修改方法,必须全部字段都带上,不然你只修改name子段,修改完你会发现time这个数据就没了。

  • 相关阅读:
    开发小技巧:移除不用的接口和代码
    打印维护调整整体偏移值
    设置table表格的单元格间距两种方式
    html中测试div、ul和li、table排列多个块
    LODOP常见问题连接(含常见小问答博文)
    常见问答的点击到链接1
    LODOP中打印项水平居中简短问答
    LODOP设置某打印项锁定下边距
    css选择器测试2-用ul和li简单排版
    LODOP打印超文本有边距不居中的情况2
  • 原文地址:https://www.cnblogs.com/liuyu666/p/13262391.html
Copyright © 2011-2022 走看看