Solr:营业时间,现在什么时候开放

时间:2016-01-28 09:57:36

标签: datetime search solr

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

我需要的是非常简单,我有一堆餐厅有营业时间 每个餐厅可以在一天内有不同的开放时间(即从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
  6. 类型的字段

    这是我已经得到的。

    以下是我的问题:

    一周的哪一天怎么样?这只能解决开启/关闭时间的问题

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

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

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

    请分享示例查询,以便我可以将其包围起来

    请让我知道我还有什么我想念的

    非常感谢

1 个答案:

答案 0 :(得分:0)

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