ES应用场景及核心概念二

目录

ES核心操作

映射详解

 映射的元字段

字段类型

 分词器

多重字段 

doc_values、fielddata、index 

store


ES核心操作

映射详解

描述数据结构,映射到es中存储的结构等。

映射定义索引中有什么字段、字段的类型等结构信息。相当于数据库中表 结构定义,或 solr中的schema。因为lucene索引文档时需要知道该如何来索引存储文档的字段。 ES应用场景及核心概念二

 创建映射,默认 science就是一个doc type 映射。字段名称 和字段类型。指定type  和 映射 数据。 给mapping添加字段 这些操作。

ES中支持 静态映射动态映射 两种方式。 通过dynamic字段来指定mapping的动态效果,dynamic字段可以有如下选项: ES应用场景及核心概念二

通过数据库来说,如果字段不存在的,添加肯定会报错,但是 es 可以动态添加的,它是将数据索引起来,供我们搜索,这就是为什么es会出现这种情况。

ES应用场景及核心概念二

 这个content之前创建时未创建,则会默认创建一个字段。 而采用上面的方式添加配置

ES应用场景及核心概念二

 ES应用场景及核心概念二

 动态映射  识别出来 映射  下面  会将字符串识别成时间。

ES应用场景及核心概念二

 ES应用场景及核心概念二

 时间匹配。将长的像时间的字符串,尝试格式化成时间。

也可以不需要指定 时间匹配功能。 通过 date_detection  就可以配置

ES应用场景及核心概念二

 映射的元字段

ES应用场景及核心概念二索引文档, 包括source ,存储的字段。

字段类型

字段类型定义了该如何索引字段值,ES提供了丰富的字段类型定义. Field datatypes | Elasticsearch Guide [6.5] | Elastic ES应用场景及核心概念二

text 和 keyword的区别, 在下面进行分词过后,进行存储,指向 id

ES应用场景及核心概念二

 ES应用场景及核心概念二

ES应用场景及核心概念二

上面的复合类型,也可以设置设置权重,以及设置大小的。

ES应用场景及核心概念二

ES应用场景及核心概念二

 

字段的type (Data type)定义了如何索引存储字段值,还有一些属性可以让我们 根据需要来覆盖默认的值或进行特别定义 ES应用场景及核心概念二

 包括上面的 分析, 转换  复制 动态映射等 等参数,都可以给我们设置的,包括enable ,等参数设置等等。

对于mapping中映射关系 ,可以定义属性,不断嵌套 属性的结构类型。短语查询,

ES应用场景及核心概念二

 index 执行反向索引

聚合和普通的搜索,在官网中可以看到的,

ES应用场景及核心概念二

包括里面专门定义的查询语言

ES应用场景及核心概念二

 包括里面所有的特性  等都在es官方网站中可以看到。

 分词器

一个可分词字符串字段的值输入到analyzer,会被转换成一组词, ES有一系列内建的analyzer:

Analyzers | Elasticsearch Guide [6.5] | Elastic

包括下面的

ES应用场景及核心概念二

标准  简单分词器等

ES应用场景及核心概念二 简单分词器 会数据进行分词

ES应用场景及核心概念二

 这里面有Keyword Analyzer  包括 Language Analyzers 语言分词器

ES应用场景及核心概念二

 

Analyzer 分析器 在 ES 中一个 Analyzer 由下面三种组件组合而成:
  • character filter 字符过滤器,对文本进行字符过滤处理,如处理文本中的html标 签字符。处理完后再交给tokenizer进行分词。一个analyzer中可包含0个或多个字符过 滤器,多个按配置顺序依次进行处理。
  • tokenizer 分词器,对文本进行分词。一个 analyzer 必需且只可包含一个 tokenizer 。
  • token filter 词项过滤器,对 tokenizer 分出的词进行过滤处理。如转小写、停用词处理、同义词处理。一个analyzer 可包含 0 个或多个词项过滤器,按配置顺序进行过滤。

多重字段 

当我们需要对一个字段进行多种不同方式的索引时,可以使用fields多重字段定义。如一个字符串字段即需要进行text分词索引,也需要进行keyword 关键字索引来支持排序、聚合;或需要用不同的分词器进行分词索引。 ES应用场景及核心概念二

 ES应用场景及核心概念二

doc_values、fielddata、index 

doc_values:大作多等数需字要段正进向行索了引反。向索引,因此可以用于搜索,但排序、聚合、scripts操作等需要正向索引。

fielddata:大多数字段可利用doc_values来进行排序、聚合、scripts等操作,但doc_values

不支持text字段,text字段利用fielddata机制来替代。

index: doc_values指定文档是否进行正向索引,index指定文档是否进行反向索引

store

默认情况下_source会存储文档所有的字段,当一个字段的store属性设置为 true时,ES会单独存储一份该字段。

ES应用场景及核心概念二

上一篇:异常


下一篇:canvas技术整理