ES2.3.5版本的数据类型

1,最近使用了2.3.5版本的ES,发现在创建索引的时候出了以下错误。

(1)例:

POST 192.168.11.166:9200/article3/article/_mapping

{
   "properties": {
        "id": {
            "type": "keyword"
        },
        "name": {
            "type": "text"
        },
        "desc": {
            "type": "String"
        },
        "createtime": {
            "type": "date",
            "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
        },
        "modifiytime": {
            "type": "date",
            "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
        }
    }
}

(2)错误:

mapper_parsing_exception

No handler for type [keyword] declared on field [id]

(3)出错原因:

在创建索引的时候使用的是6.X版本的语句,在2.3.5版本中有些数据类型并不存在。

比如上面这个例子中,在创建索引的时候id的类型定义成keyword,但是在2.3.5版本中并没有这种数据类型。

2,下面是2.3.5版本中ES的数据类型:

(1)String

index:   analyzed(默认)  not_analyzed  no:不被检索 ;

store:   true 独立存储,false(默认)不存储,从_source中解析

(2)Numeric

数值类型,注意numeric并不是一个类型,它包括多种类型,比如:long,integer,short,byte,double,float,每种的存储空间都是不一样的,一般默认推荐integer和float

index: not_analyzed(默认) 保证该字段可以检索到;no:不被检索

store:   true 独立存储,false(默认)不存储,从_source中解析

(3)Date:

index: not_analyzed(默认) 保证该字段可以检索到;no:不被检索

store:   true 独立存储,false(默认)不存储,从_source中解析

format格式化:

strict_date_optional_time||epoch_millis(默认)

"date": {

"type":   "date",

"format": "yyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"

}

(4)Ip:

用来标识IPV4的地址

index: not_analyzed(默认) 保证该字段可以检索到;no:不被检索

store:   true 独立存储,false(默认)不存储,从_source中解析

(5)Boolean:

布尔类型,所有的类型都可以标识布尔类型

False: 表示该值的有:false, "false", "off", "no", "0", "" (empty string), 0, 0.0

True: 所有非False的都是true

index: not_analyzed(默认) 保证该字段可以检索到;no:不被检索

store:   true 独立存储,false(默认)不存储,从_source中解析

原文地址:https://www.cnblogs.com/excellencesy/p/11736079.html

时间: 2024-10-19 06:10:46

ES2.3.5版本的数据类型的相关文章

【剑仙教程】易语言的结构体。自定义数据类型。

1楼. [剑仙教程]易语言的结构体.自定义数据类型. 在易语言中,有基本数据类型,自定义数据类型. 自定义数据类型,在C语言/C++中称为结构体.这是面向对象和类的编程. . . 先上代码.打开易语言的IDE,IDE,是开发环境. 点击“插入”菜单,选择“数据类型” 这时,代码编辑框就会增加一个数据类型的窗口. 把“数据类型1”命名为“精易_座标”,勾选“公开项”. 这样,一个 精易_座标 的类就做好了. . 再按回车键,给这个类增加2个成员. x 整数型 y 整数型 . 访问时,直接写代码就O

我的python入门(2)

编码转换: 示例: #这是python2.7中 #_*_ coding:utf-8 _*_ temp = "你好,世界" # utf-8 #解码,需要指定原来是什么编码 temp_unicode = temp.decode("utf-8") #编码,需要指定原来是什么编码 temp_gbk = temp_unicode.encode("gbk") print(temp_gbk) #在python 3中 temp = "你好,世界&quo

而立之年——三线城市程序员的年终告白

30岁(2017-1987),曾经对我来说曾是个多么遥远的数字,但它正悄然的离我越来越近.古人云,三十而立,而立的意思是自立于世,多指学有所成. 在<于丹的〈论语心得〉>里,"立"是内心的的立,是内在心灵的独立,而不是十岁的无知,二十岁的愤青,三十真正追求的是心灵的自信和坚定,在你的生命里树立清楚的自省,从容不迫的生活态度,忠于自己的心灵. 当我敲下于丹的解释,我的内心是颤抖的.思虑万千,久久不能释怀.刚翻看了自己13,14,15年年底的年终总结,当年的跌宕起伏的往事,感觉

mud目录命令说明

目錄結構 以下列出的是 ES2 mudlib 根目錄下標準的子目錄結構,以及簡短的說明. /adm 儲存由系統管理者所管理的程式與資料檔. /std 儲存標準物件的程式碼. /obj 儲存通用物件的程式碼. /feature 儲存物件特徵的程式碼. /daemon 儲存遊戲制度精靈的程式碼. /d 儲存開放區域的程式碼. /cmds 儲存全域性使用者指令的程式碼. /include 儲存系統表頭檔. /doc 儲存說明文件文字檔. /data 儲存使用者帳號.物件資料. /u 儲存巫師工作目錄.

ElasticSearch安装拼音插件(pinyin)

环境介绍 集群环境如下: Ubuntu14.04 ElasticSearch 2.3.1(3节点) JDK1.8.0_60 开发环境: Windows10 JDK 1.8.0_66 Maven 3.3.3 Intellij IDEA 2016.1 下载编译Pinyin clone elasticsearch-analysis-pinyin 通过IntelliJ从git上克隆elasticsearch-analysis-pinyin工程: 修改ES版本 下载完项目后修改项目根目录下pom.xml文

python学习day2(一)

一.上周作业回顾 1.登陆接口: 思路流程: 1.登陆,三次锁定用户 2.用户信息文件,黑名单文件 3.检测黑名单,如输入账号在黑名单中存在,不允许登陆 4.用户密码判断 主要知识点:while,for循环,if判断,文件操作 2.三级菜单: 1.写字典,大字典里套小字典,再在小字典里套列表 2.程序开始,列出大字典力所有的keys. 3.用户选择后,列出小字典的key. 4.用户再次选择后,列出小字典中的列表. 5.在用户选择的时候,可以加入判断,如是否输入正确 6.在用户选择的时候,加入b返

elasticsearch2.3.3集群安装

1.下载elasticsearch-2.3.3tar.gz https://www.elastic.co/downloads/elasticsearch 注意:需要jdk7以上环境 2.解压配置修改 a.tar -zxvf elasticsearch-2.3.3.tar.gz b.修改config下elasticsearch.yml (1).cluster.name=myapp(相同集群保持名称一致) (2).node.name=appnode1(同一集群,必须名称不同,按机器编号进行修改app

简易RPC框架-私有协议栈

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute

QOpenGLFunctions的相关的使用(1)

QOpenGLFunctions的使用 1.  QOpenGLFunctions  说明  QOpenGLFunctions 类提供了跨平台的OpenGl ES2.0 API版本. OpenGL 2.0 提供了OpenGL中的子类集合,可以提供跨多个平台的桌面系统以及嵌入式OpenGL的实现.然而,却很难使用子类因为子类需要解决许多平台系统的操作问题. 因此 QOpenGLFunctions提供了这样的API,可以保证在所有的OpenGL系统中使用,并且也关注不同系统中的OpenGL的版本API