ES mapping映射及优化
mapping映射
主要类型:

同一index下,不同type中如果有相同filed;es进行mapping映射的时候,按照先写进去的指定类型;比如同一index,包含的type中都有key1字段,如果第一次写进去的是long类型,后面所有type中key1字段都按照long类型格式化。
- nested和array的区别


es中会把json数组平铺存储:"key":[{"a":1,"b":"abc"},{"a":2,"b":"xyz"}],es会把上面的数组存储为:"key":{"a":[1,2],"b":["abc","xyz"]};所以如果我想的到当a>1的时候获取b的值,是拿不到我们想要的结果的!
- 如果想要获取到我们想要的结果,需要指定映射为“nested”类型
"key":{ "type":"nested", "property":{ "a":{"type":"long"} "b":{"type":"string"} } } - es默认不是这种格式,如果指定为nested类型,写入和查询的性能会受到影响!
如果单个term最大长度超过32kb(32766)不可修改,写不进es
- 可以针对比较大的内容做正则提取,作为单独字段存储
ignore_above:20(允许写入20个字节)
- 超过这个值可以写进去es,但是无法搜索到(超过之后,写进es不会做索引)

什么是DocValues?为什么要用DocValues ?
Elasticsearch cluster中的内存多半都被消耗在了field data(也就是我们常说的正排索引)上,field data主要用于:
- 按照字段排序(sort)
- 按照字段进行聚合(Aggregations)
- 过滤器,例如地理位置过滤
script排序中使用到某些字段
- http://www.tuicool.com/articles/B3QnQzE
对索引操作的一些优化
http://itindex.net/detail/54945-elasticsearch2.0--索引-优化
ES中的分词器
https://my.oschina.net/xiaohui249/blog/260993
ES mapping映射及优化的更多相关文章
- Elasticsearch索引的操作,利用kibana 创建/删除一个es的索引及mapping映射
索引的创建及删除 1. 通过索引一篇文档创建了一个新的索引 .这个索引采用的是默认的配置,新的字段通过动态映射的方式被添加到类型映射. 利用Kibana提供的DevTools来执行命令,要创建一个索引 ...
- elasticsearch中的mapping映射配置与查询典型案例
elasticsearch中的mapping映射配置与查询典型案例 elasticsearch中的mapping映射配置示例比如要搭建个中文新闻信息的搜索引擎,新闻有"标题".&q ...
- mapping 映射
es的映射就相当于编程语言中给变量定义类型,定义后的变量使用起来更高效,未定义的变量相较于定义的性能肯定是不如的.所以需要掌握es映射. 未定义映射es会对提供的数据进行类型猜测,如果对自动判断的类型 ...
- elasticsearch的mapping映射
Mapping简述 Elasticsearch是一个schema-less的系统,但并不代表no shema,而是会尽量根据JSON源数据的基础类型猜测你想要的字段类型映射.Elasticsearch ...
- HibernateTools实现pojo类 数据库schma mapping映射的相互转换
核心 利用HibernateTools,从POJO类,Mapping映射文件,数据库表有其中的一项,就能生成其他两项. 概述 在使用Hibernate开发系统持久层时,按照一般开发流程 1.分析业务 ...
- 第三百六十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mapping映射管理
第三百六十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mapping映射管理 1.映射(mapping)介绍 映射:创建索引的时候,可以预先定义字 ...
- Mybatis自动生成实体类、dao接口和mapping映射文件
由于Mybatis是一种半自动的ORM框架,它的工作主要是配置mapping映射文件,为了减少手动书写映射文件,可以利用mybatis生成器,自动生成实体类.dao接口以及它的映射文件,然后直接拷贝到 ...
- HibernateTools实现pojo类 数据库schma mapping映射的相互转换 二
接着上一篇博客:HibernateTools实现pojo类 数据库schma mapping映射的相互转换 思路二:由数据库表,生成Mapping映射文件和POJO类. 尽管能够实现,但个人觉着先设计 ...
- Elasticsearch学习系列之mapping映射
什么是映射 为了能够把日期字段处理成日期,把数字字段处理成数字,把字符串字段处理成全文本(Full-text)或精确(Exact-value)的字符串值,Elasticsearch需要知道每个字段里面 ...
随机推荐
- 16Aspx.com-将15位身份证转换成18位
//********************************************************************************* //将15位身份证转换成18位时 ...
- Git Base 操作(二)
1. 撤销修改 (1) 当改乱了工作区(working directory)某个文件的内容,想直接丢弃工作区中的修改时,用命令git checkout -- file. (2) 当不但改乱了工作区某个 ...
- Codeforces Round #324 (Div. 2) Kolya and Tanya 组合数学
原题链接:http://codeforces.com/contest/584/problem/B 题意: 有3*n个人围成一个圈,每个人可以分配1到3个硬币,但是相邻为n的三个人的和不能是6,问你有多 ...
- 实现一个Java五子棋
五子棋手把手教你写: 写在前面的话: 回想起从前初学代码的五子棋简直写的不像样子.今天闲来无事就写了个五子棋的小程序. 一来呢回忆一下很久以前写代码时的感觉. 二来呢顺便帮下诸位有需求的学生,顺利的C ...
- XCode删除多余的Simulator(模拟器)
每个xocde都会自带一个模拟器,且都是随安装包一起打包的,比如xcode8.0的就自带iOS10的模拟器,这个是没办法删除. 但是对于想要用iOS10以前的模拟器,可以通过这里进行下载: 最终下载的 ...
- Unity -- 使用easyAR的基础教程
“三人行,必有我师焉”,抱着共同学习进步的态度,和大家一起交流下EasyAR的用法.有不足的地方,欢迎指出!大家都知道,今年的QQ,支付宝,都用到了AR的技术,扫描一张图片,就会出现虚拟模型,及其想要 ...
- 学习PHP:PHP提取的时间出现不准确
php函数date("Y-n-d H-i-s"); 输出的时间与当地时间居然相差了8个小时. 原因是从php5.1.0开始,php.ini里加入了date.time ...
- PE经典DIY案例1:全解开方案让量产PE也能
更新说明:因未来的uefi似乎并不能识别并引导ud区,但能识别和引导量产和u+B+隐藏或高端隐藏区,故解决量产PE对u+B+隐藏区的支持,并增加对UEFI启动支持,已经成为PE制作的最主流技术. PE ...
- Amazon DynamoDB, 面向互联网应用的高性能、可扩展的NoSQL数据库
DynamoDB是一款全面托管的NoSQL数据库服务.客户能够很easy地使用DynamoDB的服务.同一时候享受到高性能,海量扩展性和数据的持久性保护. DynamoDB数据库是Amazon在201 ...
- 转:css:Position
http://www.cnblogs.com/polk6/archive/2013/07/26/3214847.html http://blog.sina.com.cn/s/blog_4bcf4a5e ...