我有一个存储插入时间的字段,例如2016-10-10 11:00:00.000,我尝试了keyword类型和date类型,它们都符合range要求,例如
{
"query": {
"range" : {
"time" : {
"gte" : "2016-10-10 11:00:00.000",
"lte" : "2016-10-10 12:00:00.000"
}
}
}
}keyword和date哪种类型更好?
发布于 2016-11-06 04:30:46
在您的例子中,由于您要存储日期,所以使用date数据类型更合适。在内部,这些日期将作为long时间戳存储,并且范围查询将在它们上运行,因此您将有一个数值范围。
keyword用于字符串数据。如果将这些日期作为关键字存储,则您的日期将作为未分析的字符串存储,而将在其上运行的范围查询将将它们视为词法范围。
如果您需要在这些日期之外创建date_histogram聚合,则keyword类型不会执行。因此,您肯定会更喜欢date数据类型。
https://stackoverflow.com/questions/40444850
复制相似问题