Rest 风格说明(ES 系列——关于索引的操作)

野生程序员 Life is fucking movie ,we all performer !We all no more younger! 本文由博客端 http://www.dlmsc.cn 主动推送

Rest 风格说明

它是一种架构风格,而不是标准,只是提供了一组设计原则和约束条件。主要用于客户端和服务端交互类的软件,基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存机制等等。

基本命令说明

image.png

安装 elasticsearch-head

elasticsearch-head,可以直接下压缩包,也可以通过 Git clone。

输入命令,等待下载完成:

**

git clone git://github.com/mobz/elasticsearch-head.git

安装 grunt-cli

npm install -g grunt-cli

安装 grunt

elasticsearch-head 下载完成后,进入 elasticsearch-head 文件夹,执行命令:

npm install grunt --save

安装依赖的 npm 包

npm install

修改启动文件

所有依赖包安装成功后,修改 elasticsearch-head 目录下的 Gruntfile.js 文件,在 options 属性内增加 hostname,设置为 0.0.0.0。

connect: {
  server: {
    options: {
      hostname: '0.0.0.0',
      port: 9100,
      base: '.',
      keepalive: true
    }
  }
}

修改 Elasticsearch 配置文件 config/elasticsearch.yml

在配置文件最后增加两个配置项,这样 elasticsearch-head 插件才可以访问 Elasticsearch 。

http.cors.enabled: true
http.cors.allow-origin: "*"

启动 elasticsearc-head

在 elasticsearch-head 目录下,执行命令:

grunt server

输出如下内容表示启动成功:

Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100

访问 http://localhost:9100 地址,就可以看到当前 Elasticsearch 集群信息。

image.png

基础测试

  1. 创建一个索引

PUT/索引名/类型名/文档 id

{ 请求体}

image.png

在 elasticsearch-head 里面我们就可以看索引的状态了!

image.png

这样我们就完成了自动添加索引,不仅仅是命令可以添加索引,当然 http 请求也可以,当然我们也可以将他当作数据库进行学习!

  1. name 字段的数据类型

image.png

指定字段规则

PUT /test2
{
  "mappings": {
    "properties": {
      "name":{
        "type": "text"
      },
      "age":{
        "type": "integer"
      },
      "birthday":{
        "type": "date"
      }
    }
  }
}

image.png

获得这个规则,可以通过 get 请求获取索引的信息

GET /test2

image.png

查看默认信息,从重新创建一个索引

PUT /test3/_doc/1
{
  "name":"野生程序员",
  "age":21,
  "birt":"1997-10-09"
}

image.png

image.png

image.png

也就是说,自己的文档没有设置数据类型,框架会自动识别给我们设置数据类型

获取索引情况(拓展)

GET _cat/health 获取健康情况
GET _cat/indices 获取版本信息等等

image.png

修改索引

修改用 PTU 既可以

PUT /test3/_doc/1
{
  "name":"野生程序员修改版本",
  "age":21,
  "birt":"1997-10-09"
}
GET /test3/_doc/1

image.png

当然这个已经已经不适宜用了,我们最新的方法是用 POST 请求,下面是示例


POST /test3/_doc/1/_update
{
  "doc":{
    "name":"亡命之徒"
  }
}
GET /test3/_doc/1

image.png

image.png

删除索引

DELETE test   #这是直接删除一个库

image.png

  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTFul 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    102 引用 • 96 回帖 • 471 关注

赞助商 我要投放

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...