elasticsearch中的数据类型

      es使用json作为数据的交互格式,因此可以说,只要json支持的数据类型,es都是支持的。

      

      首先就是核心数据类型,主要包括如下几个: 

       string、byte、short、integer、long、float、double、boolean、date

      

      然后就是复合数据类型,主要就是两个:

     array、object

     

      其实这里要说的就是,Lucene并没有嵌套对象的概念,原文表述如下:A Lucene  document   consists  of  a  flat  list   of  key-value   pairs。Lucene  only  indexes  scalar   or  simple  values,not  complex  datastructures。


       也就是说,es对其做了平坦化处理,比如user是一个子文档,其实是这样的:

      {

             "name":           [our,club]

            "user.name":    [newstar]

            "user.gender":  [male]

       }

        

       而对于数组的平坦化处理,则是稍有不同,比如原始数据如下:

       {
            "followers": [
                      { "age": 26, "name": "Xin  Xing"},
                      { "age": 28, "name": "Lu  Jie"},
                      { "age": 24, "name": "Geng  Xue"}
             ]   
       }

      在平坦化之后,我们的数据应该是这样子的:

      {
                   "followers.age":    [24,26,28],
                   "followers.name":   [geng,xue,lu,jie,xin,xing]
      }







  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值