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_phrase"进行查询。

  ③  但是对于数字和字母,用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这个数据就没了。

 

posted @   维新派丁真  阅读(420)  评论(1编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示