博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
elasticsearch摸石头过河——常用数据类型(二)
阅读量:4581 次
发布时间:2019-06-09

本文共 1386 字,大约阅读时间需要 4 分钟。

elasticsearch数据类型

   Elasticsearch 类型是 以 Lucene 处理文档的这个方式为基础来实现的。一个索引可以有多个类型,这些类型的文档可以存储在相同的索引中。

   Lucene 没有文档类型的概念,每个文档的类型名被存储在一个叫 _type 的元数据字段上。 当我们要检索某个类型的文档时, Elasticsearch 通过在 _type 字段上使用过滤器限制只返回这个类型的文档。

      注意问题:不同type中,有两个相同的字段名称,这时字段类型必须是相同的,否则会报错!

  一,字符串类型

        ElasticSearch 5.0之后,除去了字符串string类型,增加了:

        text(全文搜索)      老版本:string—>index(analyzed)

        keyword关键词搜索) 老版本:string—>index(not_analyzed)

                默认同时满足keyword与text类型,如果做聚合或者排序,可在字段添加keyword,做关键词搜索(long.keyword)

    二,数值类型

            long,int,short,byte,double,float

     三,日期类型(UTC时间)    1970年1月1日0时0分0秒就是UNIX时间0。

            { “date”: “2015-01-01” } 

           { “date”: “2015-01-01T12:10:30Z” } 

           { “date”: 1420070400001 } 

           ElasticSearch 内部会将日期数据转换为UTC,并存储为milliseconds-since-the-epoch的long型整数。 

    四,布尔类型

             布尔字段接受JSON true和false值,

              但也可以接受被解释为true或false的字符串和数字:
         false值举例:
         false,“false”,“off”,“no”,“0”,“”(空字符串),0,0.0
         true值举例:
         以上false示例的反面,一切非假值。

     五,二进制类型

              二进制类型接受二进制值作为Base64编码字符串,该字段默认不存储,不可搜索(意思就是只在source字段中存储整个                        文档,不会单独当成列存储)

  六,范围数据类型  

          integer_range :整型范围类型;

        float_range :单精度浮点范围类型;
        long_range :长整型范围类型;
        double_range :双精度范围类型;
        date_range :时间范围类型;
        ip_range :IP范围类型。

        使用场景:比如前端的时间选择表单、年龄范围选择表单等。 

         七,对象类型

        类似json对象

         八,数组类型  

         必须保持类型相同

 

 

转载于:https://www.cnblogs.com/10fly/p/9928888.html

你可能感兴趣的文章
精通CSS:高级Web标准解决方案(第2版)(Amazon第一CSS畅销书全新改版)
查看>>
初识电流环
查看>>
MySQL每天自动增加分区
查看>>
在线生成坐标值,方便布局使用
查看>>
ab测试工具的使用
查看>>
RTL基本知识:编译命令指定隐性线网类型
查看>>
java中BigDecimal在金融行业中的使用
查看>>
66.Plus One
查看>>
爬虫——小结
查看>>
sticky bit
查看>>
sqlserver 中 where 条件和 join 条件的作用比较
查看>>
jvm解析和调优
查看>>
Linux 连接mysql服务器
查看>>
linux内核学习:中断中推后执行的部分
查看>>
数据库系统概论【基础篇】
查看>>
shell脚本中大于,大于等于,小于,小于等于、不等于的表示方法
查看>>
xcode 快捷键
查看>>
三十五.MySQL读写分离 MySQL多实例 、MySQL性能调优
查看>>
[LeetCode] 256. Paint House_Easy tag: Dynamic Programming
查看>>
Java基础——面向对象编程一:封装
查看>>