【问题标题】:Solr: Opening hours, whats open nowSolr:营业时间,现在开放什么
【发布时间】:2016-01-28 09:57:36
【问题描述】:

我环顾四周,但找不到一个真正给出答案的地方,有很多地方可以分享想法,但没有给出实际的端到端示例/解决方案。

我需要的很简单,我有很多餐厅都有营业时间 每家餐厅在一天中可能有不同的营业时间(即从 9-11 营业,然后从 13-15,然后可能是 18-21) 每个地方一周中的每一天都可能有不同的时间表,比如说周末和周三他们做半天。

我在 db 中的数据存储如下:

|Restaurant ID| Day of week | Open time  |Close time|
|Pizza123     | 1           | 0800       | 1100     |
|Pizza123     | 1           | 1300       | 1500     |
|Pizza123     | 1           | 1700       | 2100     |
|Pizza123     | 2           | 0800       | 1500     |
|Pizza123     | 2           | 1800       | +0200    |
.......

根据我的阅读,我需要考虑 Solrs SpatialForTimeDurations,它向我解释了以下内容:

  1. 我会将开放时间存储为 X
  2. 我会将关闭时间存储为 Y
  3. 然后表示为 X Y(x 空间 y)
  4. 我会将这些值作为字符串提供给 Solr
  5. 这些值应提供给 solr.SpatialRecursivePrefixTreeFieldType 类型的字段

这是我所得到的。

以下是我的问题:

星期几呢?这只解决了开/关时间的问题

我将如何查询“现在”开放的任何地方?

我将如何查询将在下一小时或明天中午开放的任何地方?

我将如何处理跨越两天的营业时间,请参阅上面示例数据库表中的最后一个示例。

请分享示例查询,以便我了解它

请让我知道我还缺少什么

非常感谢

【问题讨论】:

    标签: datetime search solr


    【解决方案1】:

    所以我已经设法解决了这个问题,任何有兴趣的人都可以在这里找到答案http://wiki.apache.org/solr/DateRangeField

    【讨论】:

      猜你喜欢
      • 2013-09-06
      • 1970-01-01
      • 1970-01-01
      • 2018-01-21
      • 1970-01-01
      • 2015-04-11
      • 2014-05-31
      • 2011-02-12
      • 1970-01-01
      相关资源
      最近更新 更多