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需要知道每个字段里面 ...
随机推荐
- python--网络爬虫一
http://hankjin.blog.163.com/blog/static/3373193720105140583594/ http://blog.csdn.net/wklken/article/ ...
- 洛谷—— P2417 课程
https://www.luogu.org/problemnew/show/2417 题目描述 n个学生去p个课堂,每一个学生都有自己的课堂,并且每个学生只能去一个课堂,题目要求能够安排每一个课堂都有 ...
- Java Hibernate事务并发控制
在产品上线时发现当用户数量大并发性能差,经常发现数据库死锁,经诊断,是由于设置了不正确的事务隔离,可以做如下优级化(这里我们使用JTA事务): JTA具有的3个接口:UserTransaction接口 ...
- Java NIO.2 使用Files类遍历文件夹
在以前的Java版本中,如果要遍历某个文件夹下所有的子文件.子文件夹,需要我们自己写递归,很麻烦. 在Java7以后,我们可以NIO.2中的Files工具类来遍历某个文件夹(会自动递归). 大致用法: ...
- 转:java多线程CountDownLatch及线程池ThreadPoolExecutor/ExecutorService使用示例
java多线程CountDownLatch及线程池ThreadPoolExecutor/ExecutorService使用示例 1.CountDownLatch:一个同步工具类,它允许一个或多个线程一 ...
- dedecms跳转标签
我们在使用织梦dedecms制作网站的时候,有时会遇到利用arclist和list标签调用redirecturl属性.但是,dedecms的arclist和list标签不支持redirecturl.很 ...
- CPU、内存、IO虚拟化关键技术及其优化探索
https://yq.aliyun.com/articles/71295?spm=5176.8091938.0.0.3LQ7NM
- UIScrollView/UITableView 一直显示滚动条(ScrollBar Indicators)、滚动条Width(宽度)、滚动条Color(颜色)
在 IOS 中,对 UIScrollView 的滚动条(ScrollBar Indicators)的自定义设置接口,一直都是很少的.除了能自定义简单的样式(UIScrollViewIndicatorS ...
- oracle查询、删除表中相同的数据
delete FROM tablename a WHERE rowid > ( SELECT min(rowid) FROM tablename b WHERE b.id = a.id and ...
- xampp添加 django支持
apache配置文件中添加 WSGIScriptAlias /chatbot1 /Users/css/djangoprojects/chatbot1/chatbot1/wsgi.pyWSGIPytho ...