ES mapping映射及优化
2024-09-05 18:05:22
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
最新文章
- 「Ionic」創建新項目
- SFTP+OpenSSH+ChrootDirectory设置
- POJ 1503 Integer Inquiry 大数 难度:0
- C常用字符字符串处理函数
- 三【相关度 相似度查询与计算】相似度到大数据查找之Mysql 文章匹配的一些思路与提高查询速度
- 解决centos7安装wmwaretools找不到kernel header
- spring配置文件详解【总结】
- swift 可选类型笔记
- 【异构计算】GPU与CPU
- Dagger2 使用全解析
- 201421123042 《Java程序设计》第14周学习总结
- J2EE规范标准
- hashlib模块
- Python学习笔记,day5
- thinkphp提示不支持mysqli或者mysql
- Django--自定义 Command 命令
- 详解C#异常处理
- centos7.4+mysql5.6+virtualenv+python3.6+nginx+uwsgi+django生产环境搭建
- java参数转换为javaBean对象
- rails gem更换ruby-china源