elastic_search 入门使用

基本概念

  • 索引(index) 一个 索引 类似于传统关系数据库中的一个 表 ,是一个存储关系型文档的地方

  • 文档类型(type) 【7.0版本后移除】

  • 文档(doc)

一个doc代表索引里的一条数据,像数据库表里的一条记录,doc是用json格式来存储数据

es架构设计

图片

架构各组件简单释义:

  • gateway 底层存储系统,一般为文件系统,支持多种类型。

  • distributed lucence directory 基于lucence的分布式框架,封装了建立倒排索引、数据存储、translog、segment等实现。

  • 模块层 ES的主要模块,包含索引模块、搜索模块、映射模块。

  • Discovery 集群node发现模块,用于集群node之间的通信,选举coordinate node操作,支持多种发现机制,如zen,ec2等。

  • script 脚本解析模块,用来支持在查询语句中编写的脚本,如painless,groovy,python等。

  • plugins 第三方插件,各种高级功能可由插件提供,支持定制。

  • transport/jmx 通信模块,数据传输,底层使用netty框架

  • restful/node 对外提供的访问Elasticsearch集群的接口

  • x-pack elasticsearch的一个扩展包,集成安全、警告、监视、图形和报告功能,无缝接入,可插拔设计。

图片来源:掘金

请求逻辑图

图片

来源:架构师修炼

创建、删除、变更操作

创建索引

PUT /<index>
PUT /report_index_1
{
    "settings": {
        "number_of_shards": 3,
        "number_of_replicas": 1
    },
    "mappings": {
        "properties": {
            "action_cost": {
                "type": "double"
            },
            "activation": {
                "type": "long"
            },
            "advertiser_name": {
                "type": "text",
                "fields":{
                    "keyword":{
                        "type":"keyword"
                    }
                }
            },
            "cover_url": {
                "type": "keyword"
            },
            "created_at": {
                "type": "date",
                "format": "yyyy-MM-dd HH:mm:ss || yyyy-MM-dd HH:mm:ss.SSS ||yyyy-MM-dd || epoch_millis || strict_date_optional_time || yyyy-MM-dd'T'HH:mm:ss'+'08:00"
            }
        }
    }
}

创建doc

#指定id
PUT /<index>/_doc/<_id>
PUT /report_index_1/_doc/1
{
  "cover_url":"test2",
	"activation":100
}

#不指定id
POST /<index>/_doc
POST /report_index_1/_doc/
{
  "cover_url":"test2",
  "activation":200
}

#创建时如果已经存在doc, 报异常
PUT /report_index_1/_doc/10/_create
{
  "cover_url": "test10",
  "activation": 1000
}

批量创建和操作

POST _bulk
{"index":{"_index":"report_index_1","_id":"1"}}
{"cover_url":"test1","
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值