Elasticsearch(二)

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: Elasticsearch(二)

接着上一篇继续:Elasticsearch(一)


本篇将会简述 ES 的 Mapping 相关内容。




Mapping



Mapping (映射)在 ES 中的作用至关重要,数据结构、存储和索引规则等等都是通过 mapping 来进行设置的。



Dynamic Mapping (动态映射):


在使用传统关系型数据库如 mysql 时,如果不事先明确定义数据结构是无法进行数据操作的,但是在 ES 中不需要这样,因为 ES 本身会自己去检测数据并给出其数据类型然后进行索引或存储。所以称之为动态映射。


数据类型的判断及定义规则如下:

然而,仅仅依赖于 ES 自身去判断并定义数据类型显然是比较受限的,我们仍然需要对数据类型进行密切关注。


需要注意的是,虽然 mapping 映射是动态的,但这并不意味着我们可以随意的修改它,对于已经存在的 field mapping(字段映射)是无法直接修改的,只能重新索引(reindex),所以我们需要对 mapping 有一个深入的了解。



Field datatypes(字段数据类型):


ES 中的 filed(字段)如同 mysql 表中的列一样,其数据类型也有很多种:


Meta-fields(元字段):


每一个 document 都有一些与之关联的元数据:



Mapping parameters(映射参数):


设置 mapping 时的各种参数及其含义:



Dynamic templates(动态模板):


应用于动态添加字段时设置自定义 mapping 映射,通过在模板中设置匹配及映射的规则,匹配命中则会被设置为对应的 mapping ,匹配参数设置如下:


本篇文章参考官方文档整理了相关的内容。


Mapping 的设置其实是一个不断循环改进的过程,同时其与具体业务又有着密切的联系。理解了 Mapping 更有助于理解数据在 ES 中的搜索行为表现。


下一篇文章将会讲述另一个与 Mapping 息息相关的 Analysis 。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
13天前
|
自然语言处理 网络架构 索引
Elasticsearch7.1之cerebro使用(一)
Elasticsearch7.1之cerebro使用(一)
13 1
|
8月前
Elasticsearch应用详解
Elasticsearch应用详解
28 0
|
11月前
|
存储 JSON 自然语言处理
【Elasticsearch】初识elasticsearch(下)
【Elasticsearch】初识elasticsearch(下)
52 0
|
存储 Java 关系型数据库
一起来学ElasticSearch(九)
前言 目前正在出一个Es专题系列教程, 篇幅会较多, 喜欢的话,给个关注❤️ ~ 本节给大家讲下es中如何做聚合操作, 内容有点多,需要耐心看完~ 本文偏实战一些,好了, 废话不多说直接开整吧~ 什么是聚合 聚合的概念有点类似mysql中group by,sum(...),这么说大家可能就有点印象了, 但是在es中聚合操作功能更强大。 在了解es中聚合的概念之前,先来看下这两个概念, 聚合就是一个或多个桶和零个或多个指标的组合。