【问题标题】:azure search service and opening hours天蓝色搜索服务和开放时间
【发布时间】:2015-09-03 02:35:40
【问题描述】:

考虑 Microsoft 在其 azure 搜索示例中使用的相同情况 - 酒店搜索系统,但 azure 搜索应为已开业酒店提供过滤器。

任何想法如何存储有关营业时间的信息(源模型包含每天的两个间隔 - 午餐前/午餐后)以对过滤器有用?

我发现的最简单的解决方案(绝对不是最漂亮的解决方案)是为每一天创建字段,包括时间间隔以及开始和停止时间戳(仅输入时间)。然后在过滤器参数中使用适当的日期值和当前时间。整个解决方案需要创建 7 x 2 x 2 字段。

谁有更好的解决方案,也许使用 Azure 搜索引擎的默认功能?

【问题讨论】:

    标签: c# azure azure-cognitive-search


    【解决方案1】:

    这种方法会奏效。这是使用一个字段而不是 28 个字段的另一种方法: 假设您所有的开/关时间都在 1 小时的范围内(当然,同样的方法适用于 30 分钟或 15 分钟的范围)。 对于每个酒店,为所有时间间隔生成描述该酒店当时是开放还是关闭的术语:“Mon12AMClosed”、“Mon1AMClosed”、...、“Mon6AMOpened”、...、“Tue12AMClosed”、.....将所有这些术语索引到一个字符串集合字段中。在查询时间,将当前时间映射到适当的时间间隔(如“Wed12PMOpen”以找出哪些酒店在 Wed 在 12PM - 1PM 的时间间隔内营业),并使用类似于以下的过滤表达式:

    $filter = 间隔/any(t: t eq "Wed12PMOpen")

    HTH, 尤金

    【讨论】:

    • 不错的主意,一点也不 :-) 谢谢。
    猜你喜欢
    • 2014-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 2017-09-14
    • 1970-01-01
    • 2021-11-16
    相关资源
    最近更新 更多