01.ElasticSearch(RestFulApi基本操作)

编程

#number_of_shards  设置分片

#number_of_replicas 设置备份

PUT 索引

{

"settings": {

"number_of_shards": 1,

"number_of_replicas": 0

}

}

  • 创建映射类型(表)

    #字段名: 相当于数据库中的列名

    #type: 类型,例如:text,short,data,integer,object等

    #keyword: 存储数据时候,不会分词建立索引

    #index: 是否索引,默认为true,不设置索引的话就无法查询该字段

    #store: 是否存储,默认为false

    #analyzer: 分词器,默认为standard,不分词,推荐是用 ik_max_word,即ik分词器

    PUT 索引/_mapping/类型

    {

    "properties": {

    "字段名": {

    "属性名": "属性值"

    }

    }

    }

  • 添加/更新操作

    • 无id添加数据

      POST 索引/类型

      {

      "字段名": "value"

      }

    • 有id添加

      # 如果不存在该id,则为添加操作

      # 如果存在该id,则为更新操作

      PUT 索引/类型/_id

      {

      "字段名": "value"

      }

    删除操作

    • 删除索引/类型/数据

      DELETE 索引

      DELETE 索引/类型

      DELETE 索引/类型/_id

    查询操作

    • 查询所有

      #完整写法

      GET 索引/_search

      {

      "query": {

      "match_all": {

      }

      }

      }

      #简化写法

      GET 索引/_search

    • 通过id查询

      GET 索引/类型/_id

      #展示部分 相当于selct (字段1,字段2...) from

      GET 索引/类型/_id?_source=字段1,字段2

    • 条件查询

      #单条件查询 match

      GET 索引/_search

      {

      "query": {

      "match": {

      "字段名": "value"

      }

      }

      }

      #多条件查询: bool/must/must_not (交集 and)

      #bool: 条件拼接

      #must: 匹配的条件/=

      #must_not: 不匹配的条件/!=

      GET 索引/_search

      {

      "query": {

      "bool": {

      "must": [

      {

      "match": {

      "字段名": "value"

      }

      },

      ......

      ],

      "must_not": [

      {

      "match": {

      "字段名": "value"

      }

      }

      ]

      }

      }

      }

      # 多条件查询: should

      #should: 并集/or

      GET 索引/_search

      {

      "query": {

      "bool": {

      "should": [

      {

      "match": {

      "字段名": "value"

      }

      },

      {

      "match": {

      "字段名": "value"

      }

      },

      ......

      ]

      }

      }

      }

    • 其他操作

      # 精准查询: term

      # 需要查询的该字段不进行分词

      GET 索引/_search

      {

      "query": {

      "term": {

      "字段名": {

      "value": "值"

      }

      }

      }

      }

      # 区间查询: range

      # gt: 大于

      # lt: 小于

      # gte: 大于等于

      # lte: 大于等于

      GET 索引/_search

      {

      "query": {

      "range": {

      "字段名": {

      "gte": 10,

      "lte": 20

      }

      }

      }

      }

      # 排序操作: sort

      # asc: 正序

      # desc: 倒叙

      GET 索引/_search

      {

      "query": {

      "match_all": {

      }

      },

      "sort": [

      {

      "字段": {

      "order": "desc"

      }

      },

      ......

      ]

      }

      # 分页操作:

      # form: 从索引几开始(从0开始)

      # size: 长度

      GET 索引/_search

      {

      "query": {

      "match_all": {

      }

      },

      "from": 0,

      "size": 5

      }

    以上是 01.ElasticSearch(RestFulApi基本操作) 的全部内容, 来源链接: utcz.com/z/515319.html

    回到顶部