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