您的位置 首页 php

ElasticSearch入门到实战系列 (3)快速上手

ES采用json形式RESTFUL API接受数据并响应,操作起来极为简单,只需要使用postman即可。

3.1 查看集群的健康情况

 GET /_cat/health?v  
 epoch      timestamp cluster        status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1599841683 16:28:03  my-application green           1         1      0   0    0    0        0             0                  -                100.0%
  

3.2 索引操作

3.2.1 查看集群中的索引

 GET /_cat/indices?v  
 health status index    uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   my_index LiwgtxiRRH68FyNW9GLe7A   1   1          0            0       230b           230b
  

3.2.2 创建索引

 PUT /索引名称?pretty  

这里pretty的作用是格式化返回的json串

 {

    "acknowledged": true,
    "shards_acknowledged": true,
    "index": "my_index"

}  

3.2.3 删除索引

 DELETE /索引名称?pretty  
 {

    "acknowledged": true

}  

3.3 帖子案例(CRUD)

3.3.1 创建帖子索引

 PUT /article  
 {

    "acknowledged": true,
    "shards_acknowledged": true,
    "index": "article"

}  

3.3.2 创建文档(新增帖子)

语法

 PUT /index/type/id  

下面创建3条帖子

 article/_doc/3  

第一条

 {
  "title": "Java从入门到精通",
"red": 101,
"content": "Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程"

}  

第二条

 {
  "title": "JavaEE从入门到入土",
"red": 50,
"content": "Java EE 是 J2EE的一个新的名称,之所以改名,目的还是让大家清楚J2EE只是Java企业应用。在2004年底中国软件技术大会Ioc微容器(也就是Jdon框架的实现原理)演讲中指出:我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本"

}  

第三条

 {
  "title": "PHP从入门到精通",
"red": 50,
"content": "众所周知,PHP是世界上最好的语言"

}  

3.3.3 检索文档(查询帖子)

语法

 GET /index/type/id
  

字段含义

 {

    "_index": "article",
    "_type": "_doc",
    "_id": "1",
    "_version": 1,
    "_seq_no": 0,
    "_primary_term": 1,
    "found": true,
    "_source": {
        "title": "Java从入门到精通",
        "red": 101,
        "content": "Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程"
    }

}  
  • _index:该文档属于哪个索引
  • _type:相当于表。ES一直在弱化type,现在的type实际上都是_doc。ES9之后将彻底删除type
  • _id:文档的唯一标识,相当于主键。可以手动生成,也可以自动
  • _seq_no:递增的序列号,保证每次操作都比前一次大
  • _version:版本号,表示该数据被修改了多少次
  • found:是否查询到
  • _primary_term:当分片重新选举时,+1
  • _source:查询的数据

3.3.4 替换文档(修改帖子)

所谓替换文档,就是将整个文档的内容全部替换成新内容。替换操作不需要字段对应上,因为是完全替换的

语法

 PUT /index/type/id  
 {
  "title": "PHP从入门到跑路"
}  

3.3.5 修改文档(修改帖子)

所谓修改文档,就是修改文档中的某个字段。

语法

 POST  /index/type/id/_update  

update操作不能直接指定字段,而是需要在外面包一层 doc

 {
  "doc" : {"name":"PHP从入门到跑路2"}
}  

3.3.6 删除文档(删除帖子)

语法

 DELETE /index/type/1  
 article/_doc/4  

文章来源:智云一二三科技

文章标题:ElasticSearch入门到实战系列 (3)快速上手

文章地址:https://www.zhihuclub.com/78479.shtml

关于作者: 智云科技

热门文章

网站地图