数组

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 中的那些坑的更多相关文章

  1. Elasticsearch之es学习工作中遇到的坑(陆续更新)

    1:es集群脑裂问题(不要用外网ip,节点角色不要混用) 原因1:阿里云服务器,外网有时候不稳定. 解决方案:单独采购服务器,内网安装 原因2:master和node节点没有分开 解决方案: 分角色: ...

  2. 公司ES升级带来的坑怎么填?

    前言 公司的ES最近需要全部进行升级,目的是方便维护和统一管理.以前的版本不统一,这次准备统一升级到一个固定的版本. 同时还会给ES加上权限控制,虽然都是部署在内网,为了防止误操作,加上权限还是有必要 ...

  3. opengl es中不同的绘制方式

    opengl es中不同的绘制方式 转载请保留出处:http://xiaxveliang.blog.163.com/blog/static/297080342013467344263/ 1. GL_P ...

  4. 整理iOS9适配中出现的坑(图文)

    原文: http://www.cnblogs.com/dsxniubility/p/4821184.html 整理iOS9适配中出现的坑(图文)   本文主要是说一些iOS9适配中出现的坑,如果只是要 ...

  5. Elasticsearch入门必备——ES中的字段类型以及常用属性

    使用Elasticsearch时,了解字段的概念,是必不可少的.毕竟无论是es还是传统的数据库,都无法弱化字段的类型. 背景知识 在Es中,字段的类型很关键: 在索引的时候,如果字段第一次出现,会自动 ...

  6. Nancy总结(二)记一次Nancy 框架中遇到的坑

    记一次Nancy 框架中遇到的坑 前几天,公司一个项目运行很久的Nancy框架的网站,遇到了一个很诡异的问题.Session 对象跳转到另外一个页面的时候,session对象被清空了,导致用户登录不上 ...

  7. 整理 iOS 9 适配中出现的坑(图文)(转)

    作者:董铂然 本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着 ...

  8. OpenGL ES 中Uniform块

    1.采用uniform Block的原因如果你的程序中包含了多个着色器,而且这些着色器使用了相同的Uniform变量,你就不得不为每个着色器分别管理这些变量.Uniform变量的location是在程 ...

  9. 整理 iOS 9 适配中出现的坑

    本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着有用户陆续升级 ...

随机推荐

  1. swift学习之一致性hash

    转自:http://blog.csdn.net/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标 ...

  2. 在ubuntu中启用ftp服务

    Vsftpd vsftpd,ftp服务端,本文转自http://wiki.ubuntu.org.cn/Vsftpd 目录 [隐藏] 1 stand alone和super daemon 2 安装 3 ...

  3. 【转载】linux信号处理及libcurl的坑

    转载自http://www.cnblogs.com/mumuxinfei/p/4363466.html 前言:     最近有个项目, 需要访问第三方服务. 该服务是通过http的形式访问的, 为了安 ...

  4. JAVA一个关于传递引用的测试

    以下测试主要为了说明:对传递对象或传递引用进行修改,对最终值的影响情况 public class PassTest {     @Before     public void setUp() thro ...

  5. HW7.6

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  6. C语言的格式控制符

    1.         格式控制符 格式输出printf 作用是向终端输出若干个类型任意的数据. 格式:printf (格式控制符,输出列表) 1)         格式控制符 l          % ...

  7. 很好用的mybatis分页解决方案

    分页如果写在SQL脚本中,将会大大影响我们后续数据库的迁移难度.mybatis的分页一般是自己实现一个mybatis的拦截器,然后根据某些特定的条件开启分页,对原有SQL进行改造. 正在我对mybat ...

  8. Java正则表达式测试用例

    (1)对IP地址进行排序: public static void test_1() { String ip_str = "192.168.10.34 127.0.0.1 3.3.3.3 10 ...

  9. BAT及各大互联网公司2014前端笔试面试题:HTML/CSS篇

    BAT及各大互联网公司2014前端笔试面试题:HTML/CSS篇 2014/08/03 · Web前端, 开发 · CSS, HTML, 技术面试 分享到: 188 MongoDB集群之分片技术应用 ...

  10. cocos2d-x 纹理深入研究

    转自:http://blog.csdn.net/qq51931373/article/details/9152227 1.纹理控制. 看此代码: CCSprite *pSprite = CCSprit ...