文档章节

Elasticsearch Mapping理解篇

开源中国首席公关
 开源中国首席公关
发布于 2017/03/22 14:59
字数 592
阅读 68
收藏 0

映射(Mapping)

Mapping是将一个文档定义成什么样的过程,包含字段,store、index的设置。

我们可以用来做什么?

1,字符串类型的字段应该设置为全文本字段

2,字段类型是数字、日期、或地理位置

3,文档中所有字段的值是否应该被索引到全方位_all字段。

4,格式化日期类型的值

5,自定义规则来控制动态添加字段的映射

 

映射类型(Mapping Types)

每个Index都有一个或多个Mapping类型,用于索引的文档划分为逻辑组。

例如:User documents可能存储在一个User Type, Blog documents存储在一个Blog Type。

Mapping的类型有:

Meta-fields

Meta-fields用于自定义如何处理关联文档的元数据。一个普通的meta-fields例子包括documents的_index, _type, _id, _source字段。

Fields or properties

每个Mapping Type都包含字段或属性相关的数组。例如:User Type可能包含title、name和age字段,而Blog Type可能包含title,body,user_id ,create_time字段。同一个Index中,不同的Mapping Type的字段名称相同的必须具有相同的映射。

 

字段类型(Field datatypes)

每一个字段都对应一个字段类型,它可以是:

1,text,keyword,date,long,double,boolean,还有ip

2,支持分层JSON嵌套对面

2,或者一些特定的类型,如:geo_point, geo_shape, completion

通常,在Index内会有相同名称的字段去实现各自的目的。例如,一个string类型的字段可以索引成一个text或full-text类型的字段去搜索,然后作为keyword类型的字段去做排序或聚合操作。或者,你还可以将一个string类型的字段索引成标准分析器(standard analyzer),英语分析器, 或者法语分析器

这些是multi-fields的支持,大多数的数据类型也都支持这种方式

 

动态映射(Dynamic mapping)

字段和映射类型不需要提前定义,由于动态映射,新的映射类型和字段名称将通过Document自动添加。可以添加新字段作为top-level的映射类型,然后内嵌对象或字段。

动态映射规则可以为定制的映射配置新的类型、新的字段。

 

....未完

原地址:https://www.elastic.co/guide/en/elasticsearch/reference/5.2/mapping.html#mapping-limit-settings

© 著作权归作者所有

开源中国首席公关
粉丝 3
博文 14
码字总数 4852
作品 0
常德
程序员
私信 提问
ES(elasticsearch)搜索引擎

ES(elasticsearch)搜索引擎 0、授人以渔,少走半年弯路! 死磕 Elasticsearch 方法论:普通程序员高效精进的 10 大狠招! 一、Elasitcsearch基础篇 1.1 Elasitcsearch基础认知 1、Elasticse...

Ocean_K
2018/09/11
2.6K
6
ElasticSearch开发问题汇总(不断更新中)

1、Mapping: [译]ElasticSearch数据类型--string类型已死, 字符串数据永生 ElasticSearch动态日期映射 2、Spring Data Elasticsearch: Spring Data Elasticsearch教程...

九州暮云
2018/07/18
245
0
elasticsearch搜索建议Completion Suggester

目的:实现淘宝、京东搜索建议功能 准备环境:安装elasticsearch, 并安装拼音插件(https://github.com/medcl/elasticsearch-analysis-pinyin)。我安装的环境为当前最新版6.2.4。 参考官网教...

杰仪
2018/05/12
742
0
ElasticSearch排序引起的all shards failed异常原因分析

背景 注:版本为。 在我们的日志系统里需要一些系统索引,这些系统索引在应用初始化的时候就会被添加到中去,这些在中的系统索引在没有索引数据的时候,只有索引名和一些配置信息,没有信息。...

九州暮云
2018/08/10
7.8K
0
渣渣菜鸡为什么要看 ElasticSearch 源码?

前提 人工智能、大数据快速发展的今天,对于 TB 甚至 PB 级大数据的快速检索已然成为刚需,大型企业早已淹没在系统生成的浩瀚数据流当中。大数据技术业已集中在如何存储和处理这些海量的数据...

Java小铺
2018/08/10
134
0

没有更多内容

加载失败,请刷新页面

加载更多

【2019年8月版本】OCP 071认证考试最新版本的考试原题-第9题

Choose three Which three statements are true about views in an Orade batabase? A) A SELECT statement cannot contain a where clause when querying a view contaning a WHERE clause ......

oschina_5359
12分钟前
1
0
[JSON].connectionValue()

本文转载于:专业的前端网站➭[JSON].connectionValue() 语法: [JSON].connectionValue() 说明: 将对象的所有键值接连成新的字符串值 返回: [String] 示例: Set a = toJson()c = Array(1,2,...

前端老手
14分钟前
2
0
云计算给大数据分析工具带来了什么

如果大数据是一块蛋糕,那么大数据分析工具就是切蛋糕的刀叉。人们都期待着能用“刀叉”从大数据中挖出自己想要的“价值”,因此大数据分析工具被人们寄予厚望。而云计算技术的兴起似乎又给大...

青果云小潘
16分钟前
1
0
centOS7下es的使用

安装启动es7.4.0 docker pull docker.elastic.co/elasticsearch/elasticsearch:7.4.0docker run -d -p 9200:9200 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elast......

无畏的老巨人
23分钟前
1
0
iptables删除命令中的相关问题

最近在做一个中间件的配置工作,在配置iptables的时候,当用户想删除EIP(即释放当前连接),发现使用iptables的相关命令会提示错误。iptables: Bad rule (does a matching rule exist in t...

xiangyunyan
56分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部