我有一个Elastic-Search索引,其中存储了带有“ createdTime”字段的产品,该字段表示何时添加文档/产品,目前我将“ createdTime”保存为“ Long”而不是“ Date”,并且在该字段中存储从纪元开始的毫秒数,我的问题是将“ createdTime”存储为“ Long”而不是“ Date”使排序或任何此类操作变慢。
ES版本:2.4.1
答案 0 :(得分:0)
是的,Long更快,但让Elastic处理。
内部,具有 Date数据类型的字段存储为长。 以下是Elastic Docs的摘录:
在内部,日期会转换为UTC(如果指定了时区),并存储为一个整数,表示自纪元以来的毫秒数
将日期存储为长数据类型需要您自己进行额外的处理。 此外,您失去了查看日期字段(如日期)的能力。为了易于使用,长时间约会不正确。
如果使用Date数据类型,elastic会将字段以其长值存储在其倒排索引中。但是,在将其取回给您之前,它将转换为可见的日期格式。
因此,只需使用Date数据类型。