Azure搜索服务和开放时间

本文关键字:时间 搜索 服务 Azure | 更新日期: 2023-09-27 18:11:00

考虑同样的情况,微软在他们的azure搜索示例中使用-酒店搜索系统,但是azure搜索应该为已开业的酒店提供过滤器。

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

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

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

Azure搜索服务和开放时间

这个方法可以。这里有一个替代方法,使用一个字段而不是28个:假设你所有的开放/关闭时间都是1小时的界限(当然,同样的方法也适用于30分钟或15分钟的界限)。对于每个酒店,为描述酒店当时是开放还是关闭的所有间隔生成术语:"Mon12AMClosed","Mon1AMClosed",…,"Mon6AMOpened",…"Tue12AMClosed"……将所有这些术语索引到字符串集合字段中。在查询时,将当前时间映射到适当的间隔(例如"Wed12PMOpen"以查找哪些酒店在周三中午12点到下午1点之间开放),并使用类似于以下的过滤器表达式:

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

HTH,尤金