es使用--新建、删除、增删改数据

# 进入bin目录
cd /czz/elsearch/bin
# 后台启动(不加-d参数则是前台启动,日志在控制台)
# 后台启动日志如果不配置,在es目录的logs下面
./elasticsearch -d

装完本机访问http://127.0.0.1:9200/

{
  "name" : "node-1",
  "cluster_name" : "my-application",
  "cluster_uuid" : "wIk4z-UA***9cusPopZFBw",
  "version" : {
    "number" : "****",
    "build_flavor" : "default",
    "build_type" : "***",
    "build_hash" : "ef48eb35cf30adf****4db14086*1*e8aabd07ef6fb113f",
    "build_date" : "2020-03-26T06:34:37.794943Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "****",
    "minimum_index_compatibility_version" : "***-beta1"
  },
  "tagline" : "You Know, for Search"
}

看到类似的返回即表示安装成功

ElasticSearch中的基本概念

索引

① 索引(index)是es对逻辑数据的逻辑存储,所以它可以分为更小的部分。类似于关系型数据库的table
② 索引的结构是为快速有效的全文索引准备的,特别是它不存储原始值。
③ Elasticsearch可以把索引存放在一台机器或者分散在多台服务器上,每个索引有一或多个分片,每个分片可以有多个副本。

文档

① 存储在Elasticsearch中的主要实体叫文档(document)。相当于关系型数据库的一行数据
② es的文档中,相同字段必须有相同类型。
③ 文档由多个字段组成,每个字段可能多次出现在一个文档里,这样的字段叫多值字段(multivalued)。 每个字段的类型,可以是文本、数值、日期等。字段类型也可以是复杂类型,一个字段包含其他子文档或者数 组。

映射

① 所有文档写进索引之前都会先进行分析,如何将输入的文本分割为词条、哪些词条又会被过滤,这种行为叫做 映射(mapping)。一般由用户自己定义规则。

文档类型

① 在Elasticsearch中,一个索引对象可以存储很多不同用途的对象。
② 每个文档可以有不同的结构。
③ 不同的文档类型不能为相同的属性设置不同的类型。例如,在同一索引中的所有文档类型中,一个叫title的字段必须具有相同的类型。

RESTful API

①创建索引

PUT /czz_test
{
    "settings": {
        "index": {
        "number_of_shards": "1", #分片数,一般单机一片即可
        "number_of_replicas": "0" #副本数
        }
    }
}

②删除索引

DELETE /czz_test
{
	"acknowledged": true
}

③插入数据
URL规则: POST /{索引}/{类型}/{id}

POST /czz_test/user/1001  #不指定ID插入时会自动生成
{
  "id":1001,
  "name":"张三",
  "age":20,
  "sex":"男"
}

返回:

{
    "_index": "czz_test",
    "_type": "user",
    "_id": "0001",
    "_version": 1,
    "result": "created",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "_seq_no": 0,
    "_primary_term": 1
}

④更新数据
在es中数据是不可修改的,但是可以通过覆盖的方式进行更新,此时_version属性值会加一

PUT /czz_test/user/1001
{
"id":1001,
"name":"张三",
"age":21,
"sex":"女"
}

如果要仅仅更新某个字段,需要在url路径增加_update标记,同时需要将要更新的字段放在doc里面,同时_version也会加一

#注意:这里多了_update标识
POST /czz_test/user/1001/_update
{
"doc":{
"age":23
}
}

⑤删除数据

DELETE  /czz_test/user/1001   #删除id为1001的数据
DELETE /czz_test/    #删除该索引的所有数据
欢迎大家留言,以便于后面的人更快解决问题!另外亦欢迎大家可以关注我的微信公众号,方便利用零碎时间互相交流。共勉!

路漫漫其修远兮,吾将上下而求索。。。

posted @ 2020-10-13 19:23  东方欲晓_莫道君行早  阅读(1997)  评论(0编辑  收藏  举报