Date Elasticsearch中的抽象时态搜索
我很难找到解决这个问题的最佳方法,可能需要一些外界的意见。在我的ES数据中,我有过去~100年的新闻文章。我正试图找出按日期属性而不是日期范围搜索文章的最佳方法。以下是一些示例:Date Elasticsearch中的抽象时态搜索,date,datetime,elasticsearch,Date,Datetime,elasticsearch,我很难找到解决这个问题的最佳方法,可能需要一些外界的意见。在我的ES数据中,我有过去~100年的新闻文章。我正试图找出按日期属性而不是日期范围搜索文章的最佳方法。以下是一些示例: 获取“在这一天”的文章,例如4月15日,不管是哪一年 搜索在特定时间(如上午9点至下午5点)或一周中的某几天(如周六和周日)撰写的文章 搜索在6月、7月和8月期间撰写的文章(同样,不考虑年份) 。。。等等我提出的最佳解决方案是将这些属性分别存储在索引中,例如 { "publish_date": { "f
- 获取“在这一天”的文章,例如4月15日,不管是哪一年
- 搜索在特定时间(如上午9点至下午5点)或一周中的某几天(如周六和周日)撰写的文章
- 搜索在6月、7月和8月期间撰写的文章(同样,不考虑年份)
{
"publish_date": {
"full": "2014-04-15 12:34:56",
"year": 2014,
"month": 4,
"monthname": "april",
"day": 15,
"dayofweek": "tuesday",
"dayofyear": 105,
"hour": 12,
"minute": 34,
"second": 56,
"week": 16
}
}
我对这个解决方案不满意,我想和它分手
你有没有想过你会有什么不同的做法,或者你会如何解决这个问题
谢谢 首先,你为什么对它不满意?在ES(和其他非规范化/nosql数据库)中进行文档建模时,它非常好,并且与您可能需要戴的“非规范化”帽子一致 话虽如此,您不需要在自己的索引代码中编写不同的字段。相反,你可以选择:
- 使用多字段,允许将一个输入字段索引到多个ES字段,每个ES字段都有自己的映射李>
- 为要执行的每个日期映射定义这样的ES字段: