ES 中的那些坑
数组
1. 数组中的 full-text 字段将被 【analyzed】
2. 数组中【所有元素】的数据类型必须一致
3. 数组的数据类型,以其 【第一个元素】为准
映射
1. 数据类型会自动进行转化,比如 123 可以被转为 string ,但是 “test string” 没法转换为 long 类型
2. 使用 logstash 自动导入数据,filed 类型不一致将导致导入失败
3. 动态模板设置中,要把更精细的控制写在后面,否则精细的控制可能不会生效
{
"order": ,
"template": "woc_test",
"settings": {
"index.number_of_shards": ""
},
"mappings": {
"old_report_date": {
"dynamic_templates": [
{
"not_analyzed": {
"mapping": {
"index": "not_analyzed",
"type": "string"
},
"match_mapping_type": "string" //该模板匹配范围最广,必须第一个写,如果放在了最后,那么后面几个精确控制的模板都不会生效
}
},
{
"远程应用服务": {
"mapping": {
"index": "not_analyzed",
"type": "string"
},
"match": "远程应用服务"
}
},
{
"启用线路繁忙保护": {
"mapping": {
"index": "not_analyzed",
"type": "string"
},
"match": "启用线路繁忙保护"
}
},
{
"排除IP地址": {
"mapping": {
"index": "not_analyzed",
"type": "string"
},
"match": "排除IP地址"
}
},
{
"其它": {
"mapping": {
"index": "analyzed",
"type": "string"
},
"path_match": "其它.*"
}
}
]
}
},
"aliases": {}
}
索引
1. 【同一个 _type】中 【相同 filed】 类型前后不一致将导致针对该 field 的搜索,搜索不到完整内容,甚至搜索不到任何内容
2. 【同一个 _index】中【不同 _type】 存在相同字段名,类型却不同。那么针对整个 index 对该字段的 search 操作可能导致结果不正确。
时间类型
1. 自动识别的 date 类型,在存储时候被转为了【Numeric】类型,在搜索时候却不会反转,依然以 【Unix 时间戳】的形式返回
空字段
1. 空字段在 ES 中是不被保存的
- "empty_string": ""
- "null_value": null
- "empty_array": []
- "array_with_null_value": [ null ]
排序
多值字段
多值字段的值本身没有固定的排序。
对于日期和数字类型(如 day_last:[100, 98, 80])可以使用 min、max、avg 或 sum 等方式来排序
"sort": {
"dates": {
"order": "asc",
"mode": "min"
}
}
2. 字符串字段被 analyzed 后相当于是多值字段排序,对于类型为 string 的多值字段,排序一般不准确。
单值字段
1. 字符串字段被 not_analyzed 后相当于是单个字符串字段,对于类型为 string 的单值字段,排序会按默认字符顺序来进行。(A<B<C)
ES 中的那些坑的更多相关文章
- Elasticsearch之es学习工作中遇到的坑(陆续更新)
1:es集群脑裂问题(不要用外网ip,节点角色不要混用) 原因1:阿里云服务器,外网有时候不稳定. 解决方案:单独采购服务器,内网安装 原因2:master和node节点没有分开 解决方案: 分角色: ...
- 公司ES升级带来的坑怎么填?
前言 公司的ES最近需要全部进行升级,目的是方便维护和统一管理.以前的版本不统一,这次准备统一升级到一个固定的版本. 同时还会给ES加上权限控制,虽然都是部署在内网,为了防止误操作,加上权限还是有必要 ...
- opengl es中不同的绘制方式
opengl es中不同的绘制方式 转载请保留出处:http://xiaxveliang.blog.163.com/blog/static/297080342013467344263/ 1. GL_P ...
- 整理iOS9适配中出现的坑(图文)
原文: http://www.cnblogs.com/dsxniubility/p/4821184.html 整理iOS9适配中出现的坑(图文) 本文主要是说一些iOS9适配中出现的坑,如果只是要 ...
- Elasticsearch入门必备——ES中的字段类型以及常用属性
使用Elasticsearch时,了解字段的概念,是必不可少的.毕竟无论是es还是传统的数据库,都无法弱化字段的类型. 背景知识 在Es中,字段的类型很关键: 在索引的时候,如果字段第一次出现,会自动 ...
- Nancy总结(二)记一次Nancy 框架中遇到的坑
记一次Nancy 框架中遇到的坑 前几天,公司一个项目运行很久的Nancy框架的网站,遇到了一个很诡异的问题.Session 对象跳转到另外一个页面的时候,session对象被清空了,导致用户登录不上 ...
- 整理 iOS 9 适配中出现的坑(图文)(转)
作者:董铂然 本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着 ...
- OpenGL ES 中Uniform块
1.采用uniform Block的原因如果你的程序中包含了多个着色器,而且这些着色器使用了相同的Uniform变量,你就不得不为每个着色器分别管理这些变量.Uniform变量的location是在程 ...
- 整理 iOS 9 适配中出现的坑
本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着有用户陆续升级 ...
随机推荐
- HDU 3533 Escape BFS搜索
题意:懒得说了 分析:开个no[100][100][1000]的bool类型的数组就行了,没啥可说的 #include <iostream> #include <cstdio> ...
- WebDriver 运行模式下使用rc 代码
selenium2 对之前的rc 代码提供了兼容性接口,如果你之前的code 都是用rc 写,而现在又想摆脱要每次启动server,你只需要 略做修改即可.代码如下: public class Tes ...
- umask设置导致程序权限不足的问题
这几天邮件告警总是发不了邮件,查看了下zext_msmtp.sh的日志,发现总是提示权限不足…… 于是切换为zabbix的账户,发现在msmtp的目录下连ls都无法执行. 之后发现是umask的问题, ...
- Shell 脚本学习资料搜集
Shell文档 ChinaUnix上大神“網中人”总结的Shell十三问,强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点.每一问都写得非常精彩.ChinaUnix ...
- oracle 在表中有数据的情况下修改表字段类型或缩小长度
分享自己一些常用的sql语句给大家 偶尔我们需要在已有表,并且有数据的情况下,修改其某个字段的类型或缩短他的长度,但是因为表中有数据,所以不可以直接修改,需要换个思路. //建立测试表,可跳过(善于应 ...
- UITableView 详解 教程
看TableView的资料其实已经蛮久了,一直想写点儿东西,却总是因为各种原因拖延,今天晚上有时间静下心来记录一些最近学习的TableView的知识.下面进入正题,UITableView堪称UIKit ...
- PowerDesigner 正向工程 和 逆向工程 说明
PowerDesigner 正向工程 和 逆向工程 说明 database数据库脚本oraclegenerationsql 目录(?)[+] 一. 正向工程与逆向工程说明 在前面几篇里介绍了几 ...
- PowerDesigner概念数据模型 CDM
目标:本文主要介绍PowerDesigner中概念数据模型 CDM的基本概念. 一.概念数据模型概述数据模型是现实世界中数据特征的抽象.数据模型应该满足三个方面的要求:1)能够比较真实地模拟现实世界2 ...
- Linux安装JDK详细步骤
Linux安装JDK步骤 1.先从网上下载jdk(jdk-7u1-linux-i586.rpm),下载地址:http://www.oracle.com/technetwork/java/javase/ ...
- 域名的MX设置及校验方法
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...