美文网首页Elasticsearch
Elasticsearch-入门

Elasticsearch-入门

作者: WebGiser | 来源:发表于2020-12-24 16:20 被阅读0次

环境:Centos7、Docker、Elasticsearch7.8.0、Kibana7.8.0

image.png
image.png

基本概念

1、索引(index):一个索引就是一个拥有几分相似特征的文档的集合。索引类似于关系型数据库中Database的概念。
2、类型(type):在一个索引中,你可以定义一种或多种类型。一个类型是你的索引的一个逻辑上的分类/分区,其语义完全由你来定。通常,会为具有一组共同字段的文档定义一个类型。类型类似于关系型数据库中Table的概念。
3、文档(document):一个文档是一个可被索引的基础信息单元,文档以JSON格式来表示。 在一个index/type里面,你可以存储任意多的文档。文档类似于关系型数据库中Record的概念。实际上一个文档除了用户定义的数据外,还包括_index、_type和_id字段。
4、分片和复制(shards & replicas):一个索引可以存储超出单个结点硬件限制的大量数据。分片允许你水平分割/扩展你的内容容量,允许你在分片(潜在地,位于多个节点上)之上进行分布式的、并行的操作,进而提高性能/吞吐量。
5、映射(mapping):mapping类似于传统关系型数据中table的schema,用于定义一个索引(index)的某个类型(type)的数据结构。
注意:elasticsearch 7.x版本之后已经彻底去除了type的概念,elasticsearch7默认不再支持指定索引类型,默认索引类型是_doc。index下面不再允许设置type。直接给某个index设置mapping即可。相当于index就是mysql数据库中的dabase.table了。

数据类型

下表列出的是ES中所支持的数据类型。(大类是对所有类型的一种归类,小类是实际使用的类型)


image.png

ES Restful API基本使用

1、集群和节点API

// 查看集群健康信息
GET _cat/health?help

// 查看集群中的节点信息
GET _cat/nodes?v

2、索引API

// 查看集群中的索引信息
GET _cat/indices?v

// 创建一个新的索引
PUT index_test

// 删除索引
DELETE index_test

3、映射API

// 查看索引的mapping
GET index_test/_mapping?pretty

// 创建索引的mapping
PUT index_test/_mappings 
{
    "properties": {
        "name": {
            "type": "text"
        },
        "age": {
            "type": "integer"
        },
        "sex":{
            "type": "boolean"
        },
        "money":{
            "type": "double"
        },
        "createDate":{
            "type": "date"
        }
    }
}

// 同时创建索引和mapping
PUT index_test2
{
    "mappings":{
        "properties": {
            "name": {
                "type": "text"
            },
            "age": {
                "type": "integer"
            },
            "sex":{
                "type": "boolean"
            },
            "money":{
                "type": "double"
            },
            "createDate":{
                "type": "date"
            }
        }
    }
}

4、文档API

// 查看文档
GET index_test/_doc/1?pretty
// 查看索引下的所有文档
GET index_test/_doc/_search

// 增加文档(指定id)
PUT index_test/_doc/1
{
    "name": "张三",
    "age": 20,
    "sex": "true",
    "money": "100.5",
    "createDate": "2020-10-05"
}
// 增加文档(id自动生成)
POST index_test/_doc
{
    "name": "李四",
    "age": 20,
    "sex": "true",
    "money": "100.5",
    "createDate": "2020-10-05"
}

// 修改文档
POST index_test/_doc/1
{
    "name": "aaa"
}

// 删除文档
DELETE index_test/_doc/1

DSL特定语法检索和过滤-kibana

GET index_test/_doc/_search
{
    "query": { 
        "match": {
            "name": "四"
        } 
    },
    "sort": [
        { "age": "asc" }
    ]
}

相关文章

  • ElasticStack5.5.0安装

    1. 建议安装顺序 Elasticsearch->X-Pack for Elasticsearch->Kibana...

  • Elasticsearch-入门

    环境:Centos7、Docker、Elasticsearch7.8.0、Kibana7.8.0 基本概念 1、索...

  • elasticsearch-快速入门

    什么是Elasticsearch Elasticsearch (ES)是一个基于Lucene构建的开源、分布式、R...

  • Java进阶-Elasticsearch

    一、参考资料 Elasticsearch-基本介绍[https://juejin.cn/post/68449040...

  • ES常用文档地址

    elasticSearch-权威指南-中文版[https://www.elastic.co/guide/cn/el...

  • Elasticsearch教程

    一. ES安装 1.1 本地安装 下载对应系统的安装包 下载地址 前台启动cd elasticsearch-

  • ElasticSearch-聚合

    什么是聚合 每个聚合都是一个或者多个桶和零个或者多个指标的组合。 桶(Buckets) 满足特定条件的文档的集合。...

  • Elasticsearch-基础

    一些概念 索引-index: 一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另...

  • Elasticsearch-聚合

    零、本文纲要 一、聚合1、常见的聚合类型2、参与聚合的字段类型 二、聚合DSL1、桶(Bucket)聚合① 桶聚合...

  • 【ES从入门到实战】十四、全文检索-ElasticSearch-

    接第13节 6)、bool 【复合查询】 bool 用来做复合查询: 复合语句可以合并任何其它查询语句,包括复合语...

网友评论

    本文标题:Elasticsearch-入门

    本文链接:https://www.haomeiwen.com/subject/hqtmnktx.html