elasticsearch mapping
2019独角兽企业重金招聘Python工程师标准>>>
es的mapping设置很关键,mapping设置不到位可能导致索引重建。如何更好的设置mapping?
请看下面各个类型介绍^_^
core types
每一个JSON字段可以被映射到一个特定的核心类型。JSON本身已经为我们提供了一些输入,支持string
, integer
/long
, float
/double
, boolean
, and null
.
下面的示例tweet的JSON文档将被用来解释核心类型:
{ "tweet" { "user" : "kimchy" "message" : "This is a tweet!", "postDate" : "2009-11-15T14:12:12", "priority" : 4, "rank" : 12.3 }}
可以显式映射为上面的JSON tweet:
{ "tweet" : { "properties" : { "user" : {"type" : "string", "index" : "not_analyzed"}, "message" : {"type" : "string", "null_value" : "na"}, "postDate" : {"type" : "date"}, "priority" : {"type" : "integer"}, "rank" : {"type" : "float"} } }}
string
基于文本的字符串类型是最基本的类型,包含一个或多个字符。可以映射一个例子:
{ "tweet" : { "properties" : { "message" : { "type" : "string", "store" : "yes", "index" : "analyzed", "null_value" : "na" } } }}
上面的映射定义一个字符串消息属性/字段在tweet类型。字段存储在索引(所以它稍后可以被检索使用选择性加载搜索时),并得到分析(分解成可搜索条件)。如果该消息有一个空值,那么该值将被存储是na.
index_name 字段的名称,将存储在索引中。默认属性/字段名. |
|
store 设置为yes来存储实际的字段索引,没有不存储它。默认为没 有(注意,JSON文档本身是存储,可以从它检索)。 | |
index 为该领域设置为分析索引和搜索在被分解成令牌使用分析 仪。不分析意味着其仍可搜索,但没有经过任何分析过程或分 解为令牌。不意味着它不会搜索(作为一个单独字段,它可能仍 然被包括在所有)。设置没有禁用包含在所有。默认为分析。 | |
term_vector 可能的值是不,是的,与补偿,与职位,与位置偏移。默认为没 有。 | |
boost 该boost的值,默认是1.0。 | |
null_value 当有一个(JSON)null值的字段,可以使用null值的字段值。默认 为不添加字段在所有。 | |
omit_norms 布尔值如果规范应该省略或不是。默认值为假的分析领域,适 用于不分析领域。 | |
omit_term_freq_and_positions 布尔值如果术语和位置应该忽略频率。默认值为假。弃用自 0.20,看到指数期权。 | |
index_options 自从0.20可用。允许设置索引选项,可能的值是文档(只有doc 数字索引),freqs(doc数字和词的频率),和职位(doc数字,词的频 率和位置)。默认位置分析领域,和文档中没有分析领域。因为 0.90也可以设置偏移量(doc数字,词的频率,位置和补偿)。 | |
analyzer 这个分析仪用于分析文本内容分析时在索引和搜索时使用查 询字符串。默认为全球配置分析仪。 | |
index_analyzer 这个分析仪用于分析文本内容分析时在索引。 |
|
search_analyzer 这个分析仪用于分析场当一部分查询字符串。可以更新现有 的字段。 | |
include_in_all 应该被包括在这个领域的所有字段(如果启用)。如果索引设置 为无默认值为false,否则,默认为true或父对象类型设置。 |
ignore_above 这个分析器将忽略字符串大于这个尺寸。用于通用不分析领 域,应该忽略长文本。(因为@0.19.9)。 |
position_offset_gap 位置增量字段实例之间的差距与相同的字段名。默认值为0。 |
{ "message" : { "_value": "boosted value", "_boost": 2.0 }}
需要消除歧义的映射文档的含义。否则,该结构将解释“消息”作为“对象”类型的值。键值(或价值)在内部文档指定字符串内容,最终真正应该被编入索引。促进(或提高)键指定每个字段的文档增加(这里是2.0)。
number
许多类型的基础支持浮动,双,字节,短、整数和长。它使用特定的构造在Lucene为了支持数字值。数字类型有相同的范围作为相应的Java类型。一个例子可以映射:
{ "tweet" : { "properties" : { "rank" : { "type" : "float", "null_value" : 1.0 } } }}
例1:当某一个字段要分词搜索, 则index就要设置相应的分词器,store设置为true
例2:当某一个字段要facet(分组统计),则必须设置这个字段为no_analyzerd(不分词);原因是字段不设置分词,默认是一元分词。
例3:搜索关键字相应分数,对一些排名算法有一定的帮助,可以为一些重要字段设置分值(boost)
转载于:https://my.oschina.net/u/1024514/blog/491238
elasticsearch mapping相关推荐
- Elasticsearch教程 elasticsearch Mapping的创建
一.Mapping介绍 在 Elasticsearch 中, Mapping 是什么? mapping 在 Elasticsearch 中的作用就是约束. 1.数据类型声明 它类似于静态语言中 ...
- 如何设计一个高性能Elasticsearch mapping
如何设计一个高性能Elasticsearch mapping 前言 mapping mapping 能做什么 Dynamic mapping dynamic=true dynamic=runtime ...
- elasticsearch mapping之dynamic
dynamic:true 动态映射 这时默认的mapping参数,当我们往index添加一条数据时,es会自动为我们完善mapping 例如我们创建一个index: PUT my_index {&qu ...
- Elasticsearch Mapping 详解
1. Mapping(映射) Mapping 是定义文档及其包含的字段是如何存储和索引的过程 例如,我们用映射来定义: 哪些字符串字段应该被当做全文字段 哪些字段包含数字.日期或地理位置 是否应该将 ...
- Elasticsearch mapping与analysis
映射(mapping)机制用于进行字段类型确认,将每个字段匹配为一种确定的数据类型(string, number, booleans, date等).分析(analysis)机制用于进行全文文本(Fu ...
- ElasticSearch - Mapping 配置字段属性:对 long 类型字段聚合需要开启 doc_values:true
概述 当遇到,类似如下报错: Can't load fielddata on [product_id] because fielddata is unsupported on fields of ty ...
- 【Elasticsearch】Elasticsearch mapping 映射对象
文章目录 1.概述 1.1 Mapping各字段的选型流程 2.详解 2.1 root object 2.2 properties 2.3 _source 2.4 _all 2.5 metadata ...
- elasticsearch mapping之fields
ES允许同一个字段有两个不同的类型,例如一个字段可以拥有keyword类型来进行聚合与排序,也可以拥有text来做全文检索. 举例如下: PUT my_index {"mappings&qu ...
- elasticsearch mapping之store
_source字段存储的是索引的原始内容,那store属性的设置是为何呢?es为什么要把store的默认取值设置为no?设置为yes是否是重复的存储呢? 默认情况下,字段的值是可以被索引到的(即:in ...
最新文章
- gulp自动化构建工具--压缩css--学习笔记
- nginx负载均衡高可用
- vue使用query传参页面刷新数据丢失问题
- 小学英语运用计算机教学自评,信息技术在小学英语课堂中如何更有效地利用教学评价...
- 【转载】SAP 计划策略组40、50对比分析
- Python 必背的42个常见单词,看看你记住了几个?
- 值得学习练手的22个Python迷你程序(附代码)
- js带有折行的警告框
- Linux下C++连MySQL数据库
- php堆是什么,PHP 堆与堆排序的详解
- 算法——常用的数据结构/模板/基础知识
- LeetCode 312. 戳气球(Burst Balloons)
- js判断复选框是否被选中
- 说说VNode节点(Vue.js实现) 1
- mysql安装 黑马程序员_MySQL数据库安装教程详解
- iOS8 自定义navigationbar 以及 UIBarButtonItem 边距问题
- ElasticSearch常用的几种查询方式
- 中缀表达式——表达式树
- 1一10到时的英文单词_[1-10的英语单词读音]1到10的英语单词
- java__斐波那契数列