全文检索-ElasticSearch 初步检索

1._cat

1.1 /_cat/nodes:查看所有节点

GET http://192.168.190.135:9200/_cat/nodes

1.2 /_cat/health:查看 es 健康状况

GET http://192.168.190.135:9200/_cat/health

1.3 /_cat/master:查看主节点

GET http://192.168.190.135:9200/_cat/master

1.4 /_cat/indices:查看所有索引

类似于show databases; GET http://192.168.190.135:9200/_cat/indices

索引一个文档(保存一条记录)

索引一个文档即保存一条数据,保存在哪个索引(数据库)的哪个类型(表)下,指定用哪个唯一标识

PUT 请求带Id保存(一般用于修改)

PUT customer/external/1;在 customer 索引下的 external 类型下保存 1 号数据为:{“name”:”John Doe”}

全文检索-ElasticSearch 初步检索

发送多次是一个更新操作。

PUT 可以新增可以修改。PUT 必须指定 id;由于 PUT 需要指定 id,我们一般都用来做修改操作,不指定 id 会报错

2.2 POST保存

PUT 和 POST 都可以新增和修改。POST 新增。如果不指定 id,会自动生成 id指定 id,该id如果没有对应数据为新建操作,如果有对应数据则为update操作,并更新版本号。

全文检索-ElasticSearch 初步检索

3 查询文档(查询记录)

get查询数据&乐观锁字段

get查询方式: index/type/id

http://192.168.56.10:9200/customer/external/1

返回的数据:

# 乐观锁更新时携带 ?if_seq_no=1&if_primary_term=1  携带数据要求_seq_no为1且_primary_term为1的时候才进行更改,如果不是则不更改

全文检索-ElasticSearch 初步检索

更新文档——POST /_update

更新文档有很多种方式,前面说了两种PUT /index/type/id 和 POST /index/type/id

POST customer/external/1/_update 注意该方式下的请求体格式

post /_update更新会对比原来的数据,与原来一样就什么都不做,version、seq_no均不改变。

PUT customer/external/1POST customer/external/1则不会进行比较,对原数据进行覆盖。

那么什么时候用什么呢?

  • 对于大并发更新,不带 update;
  • 对于大并发查询偶尔更新,带 update;对比更新,重新计算分配规则。

删除文档&索引

删除文档

直接发送delete请求

全文检索-ElasticSearch 初步检索

删除索引

也是直接发送delete请求

DELETE http://192.168.190.135:9200/customer

bulk——批量操作api

使用bulk进行批量操作必须发送POST请求

指定索引和类型的bulk批量操作

POST http://192.168.190.135/customer/external/_bulk

语法格式:

保存两条文档的格式:

这里无法使用postman进行测试,用kibana额Dev_tools中执行

全文检索-ElasticSearch 初步检索

对所有索引执行批量操作

bulk的批量操作,当发生某一条执行发生失败时,其他的数据仍然能够接着执行,也就是说彼此之间是独立的。

bulk api以此按顺序执行所有的action(动作)。如果一个单个的动作因任何原因失败,它将继续处理它后面剩余的动作。当bulk api返回时,它将提供每个动作的状态(与发送的顺序相同),所以可以检查某一个指定的动作是否失败了。

样本测试数据

json数据链接

全文检索-ElasticSearch 初步检索

正文完
 0