显式Mapping设置与常见参数介绍
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
显式Mapping设置与常见参数介绍
自定义Mapping的一些建议
- 为了减少输入的工作量,减少出错概率,可以依照一下步骤
- 创建一个临时的index,写入一些样本数据
- 通过访问Mapping API获得该临时文件的o动态Mapping定义
- 修改后用,使用该配置创建你的索引
- 删除临时索引
控制当前字段是否被索引
- index - 控制当前字段是否被索引,默认为true,如果设置成false,该字段不可被索引
Index Options
- 四种不同级别的Index Options配置,可以控制倒排索引记录内容
- docs - 记录doc id
- freqs - 记录doc id和term frequencies
- positions - 记录doc id/term frequencies / term position
- offsets - doc id / term frequencies / term position / character offects
- Text 类型默认记录positions,其他默认为docs
- 记录内容越多,占用存储空间越大
null_value
- 需要对null值实现搜索,只要keyword 类型支持设定null_value
PUT users
{
"mappings" : {
"properties":{
"mobile":{
"type":"keyword",
"null_value":"NULL"
}
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
copy_to 设置
- _all 在7中被copy_to 所替代
- 满足一些特定的搜索需求
- copy_to 将字段的数值拷贝到目标字段,实现类似_all的作用
- copy_to 的目标字段不出现在_source中
PUT users
{
"mappings" : {
"properties":{
"firstName":{
"type":"keyword",
"copy_to":"fullName"
}
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
数组类型
- Elasticsearch中不提供专门的数组类型,但是任何字段,都可以包含多个相同类型的数值
多字段类型
- 多字段特性
- 使用不同的analyzer
- 不同语言
- pinyin字段的搜索
- 支持为搜索和索引指定不同的analyzer
- 使用不同的analyzer
PUT products
{
"mappings" : {
"properties":{
"comment":{
"type":"keyword",
"fields":{
"english_comment":{
"type":"text",
"analyzer":"english",
"search_analyzer":"english"
}
}
}
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- Index Template:帮助你设定Mapping和Settings,并按照一定的规则,自动匹配到新创建的索引之上
- 和Dynamic Template
显式Mapping设置与常见参数介绍的更多相关文章
- Java并发编程之显式锁机制
我们之前介绍过synchronized关键字实现程序的原子性操作,它的内部也是一种加锁和解锁机制,是一种声明式的编程方式,我们只需要对方法或者代码块进行声明,Java内部帮我们在调用方法之前和结束时加 ...
- Selenium系列(六) - 强制等待、隐式等待、显式等待
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- C++中的显式类型转化
类型转化也许大家并不陌生,int i; float j; j = (float)i; i = (int)j; 像这样的显式转化其实很常见,强制类型转换可能会丢失部分数据,所以如果不加(int)做强制转 ...
- (转载)Android理解:显式和隐式Intent
Intent分两种:显式(Explicit intent)和隐式(Implicit intent). 一.显式(设置Component) 显式,即直接指定需要打开的activity对应的类. 以下多种 ...
- 【转】Android理解:显式和隐式Intent---- try catch
原文网址:http://blog.csdn.net/xiao__gui/article/details/11392987 Intent是Android初学者比较难理解的一个东西.我这里以通俗易懂的语言 ...
- selenium(5)-解读强制等待,隐式等待,显式等待的区别
背景 为什么要设置元素等待 因为,目前大多数Web应用程序都是使用Ajax和Javascript开发的:每次加载一个网页,就会加载各种HTML标签.JS文件 但是,加载肯定有加载顺序,大型网站很难说一 ...
- 显式锁(二)Lock接口与显示锁介绍
一.显式锁简介 显式锁,这个叫法是相对于隐式锁synchronized而言的,加锁和解锁都要用户显式地控制.显示锁Lock是在Java5中添加到jdk的,同synchronized一样,这也是一 ...
- 当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值
{"当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值"} 对于这个异常可以从两个角度来处理:A:数据库执行语句 B: ...
- 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值
问题描述:在SQL SERVER 2008中,向数据表中字段插入数据时,会报错,错误如下: 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式 ...
随机推荐
- 关于反射和动态代理和AOP
package Exercise.reflect; /** * 反射把java中所有的东西都当做对象,甚至是类的本身也作为一种对象,并把它作为Class的对象的实例: * 反射是把类.类的属性.方法都 ...
- SpringBoot自定义FailureAnalyzer
官网说明 1.1 创建自己的 FailureAnalyzer FailureAnalyzer是一种在启动时拦截 exception 并将其转换为 human-readable 消息的好方法,包含在故障 ...
- cmd开启3389
如何用CMD开启3389与查看3389端口 开启 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server / ...
- hashcode native
hashcode Java中的hashCode方法就是根据一定的规则将与对象相关的信息(比如对象的存储地址,对象的字段等)映射成一个数值,这个数值称作为散列值. 在设计hashCode方法和equal ...
- 从Mybatis中#和$的区别到SQL预编译
#和$的区别 Mybatis中参数传递可以通过#和$设置.它们的区别是什么呢? # Mybatis在解析SQL语句时,sql语句中的参数会被预编译为占位符问号? $ Mybatis在解析SQL语句时, ...
- C++中的集合和字典
https://blog.csdn.net/sinat_39037640/article/details/74080509
- flask_sqlalchemy和sqlalchemy的区别有哪些?
概要的说: SQLAlchemy是python社区使用最广泛的ORM之一,SQL-Alchmy直译过来就是SQL炼金术. Flask-SQLAlchemy集成了SQLAlchemy,它简化了连接数据库 ...
- log4j.rootLogger作用域
log4j.rootLogger只对没有申明appender的包起作用:
- 测开之路一百零一:jquery文字特效、动画、方法链
文字特效 html内容 1.卷起/展开 2.隐藏/显示 3.淡入淡出 <!DOCTYPE html><html lang="en"><head> ...
- Binder进程与线程ProcessState以及IPCThreadState
ProcessState以及IPCThreadState ProcessState是负责打开Binder节点并做mmap映射,IPCThreadState是负责与Binder驱动进行具体的命令交互. ...