数组

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. 问题:关于坛友的一个定时重复显示和隐藏div的实现

    需求:打开页面只看到DIV2,等完秒数之后在显示DIV3.手动关闭DIV3后在重新数秒 我设置的间隔时间是3秒,代码如下: html+css: 1: <!DOCTYPE HTML> htm ...

  2. MVC5中使用KinEditor

    参考:http://www.cnblogs.com/weicong/archive/2012/03/31/2427608.html 第一步 将 KindEditor 的源文件添加到项目中,建议放到 / ...

  3. 查看本机IP地址及子网掩码(netmask)

    通常有两种方式来查看本机IP地址及子网掩码,一种是在网路和共享中心中查看网路信息:一种是在cmd命令窗口查看. 下面分别介绍这两种方法: 1.在网路和共享中心中查看本机IP地址及子网掩码 (1)打开控 ...

  4. CUDA学习资料分享(随时更新)

    1.Programming_Massively_Parallel_Processors.pdf 2.CUDA_C_Programming_Guide.pdf 3.CUDA范例精解通用GPU编程.pdf ...

  5. Hbase的安装配置

    一.上传解压后的Hbase文件. 二.配置: 1..bash_profile文件: export HBASE_HOME=/home/kituser/bigdata/hbase-0.94.6-cdh4. ...

  6. Mysql的函数使用方法

    今天有点临时需求要计算一张表的结果,不想写代码,想到了mysql的自定义函数.碰到了很多问题,为了方便一下使用,在此记录一下. 需求:一张表中,有比分,需要查询出比赛id和比赛结果. 分析:     ...

  7. dataStructure@ Check if a directed graph has cycles

    #include<iostream> #include<cstdio> #include<cstring> #include<limits> #incl ...

  8. vs2015中升级Nuget后,找不到Umbraco安装包问题

    打开VS2015, Tools=>Extensions and Updates=> Updates => Visual Studio Gallery   在这里check一下是否有N ...

  9. 转载 SharePoint【Site Definition 系列】– 创建Content Type

    转载原地址:  http://www.cnblogs.com/wsdj-ITtech/archive/2012/09/01/2470274.html Sharepoint本身就是一个丰富的大容器,里面 ...

  10. 解决eclipse 使用run运行,始终会跳到debug模式!

    查看此选项是否选择中卫always,若是,更改为never或prompt,重启eclipse即可