Azure 认知搜索:DateTime 字段的 Facet "values"
Azure Cognitive Search: Facet "values" for DateTime field
我想我不明白做我想做的事。我想提供如下所示的方面列表:
- 今天创建 (123)
- 上周创建 (3,455)
- 上个月创建 (12,234)
- 去年创建 (112,234)
documents 说“”facet=lastRenovationDate,values:2010-02-01T00:00:00Z”产生两个桶:一个用于 2010 年 2 月之前装修的酒店,一个用于 2 月 1 日装修的酒店, 2010 年或之后。
从逻辑上讲,我不明白如何创建这些存储桶。没有说明如何提供日期范围的文档,我也想不出正确的组合。
我可以找出代码,但从逻辑上讲我将如何完成上述操作?谢谢!
假设
假设您要分面的字段是 createdDate
并且类型是 Edm.DateTimeOffset
。根据您的要求,我认为您在获取分面数据后必须进行一些计算。
这些是您感兴趣的日期
(今天) - 2021-08-12T00:00:00Z
昨天 -(今天 - 1 天)2021-08-11T00:00:00Z
上周 -(昨天 - 1 周)2021-08-04T00:00:00Z
上个月 -(4 周回退 1 周回退)2021-07-12T00:00:00Z
去年-(1年前到上个月)2020-08-12T00:00:00Z
查询和响应
所以您将在您的方面指定 4 个值 - 昨天、上周、上个月、去年。我将首先在实际查询中使用这些名称以使其更具可读性。第二个是您将进行的实际查询
- 人类可读的查询 -
facet=createdDate,values:last year | last month | last week | yesterday
- 实际搜索查询 -
facet=createdDate,values:2020-08-12T00:00:00Z| 2021-07-12T00:00:00Z | 2021-08-04T00:00:00Z | 2021-08-11T00:00:00Z
这将产生如下 5 个数据桶。
a - 所有比去年旧的东西(你不需要这个,你可以扔掉)
b - 从去年到上个月的所有内容
c - 从上个月到上周的所有内容
d - 从上周到昨天的所有事情
e - 从昨天到今天的一切
解决方案
下面将进行计算,以获得您需要的范围。
今天创建 (123) - e
上周创建 (3,455) - d + e
上个月创建 (12,234) - c + d + e
去年创建 (112,234) - b + c + d + e
去年之前创建 (547,838) - a
我想我不明白做我想做的事。我想提供如下所示的方面列表:
- 今天创建 (123)
- 上周创建 (3,455)
- 上个月创建 (12,234)
- 去年创建 (112,234)
documents 说“”facet=lastRenovationDate,values:2010-02-01T00:00:00Z”产生两个桶:一个用于 2010 年 2 月之前装修的酒店,一个用于 2 月 1 日装修的酒店, 2010 年或之后。
从逻辑上讲,我不明白如何创建这些存储桶。没有说明如何提供日期范围的文档,我也想不出正确的组合。
我可以找出代码,但从逻辑上讲我将如何完成上述操作?谢谢!
假设
假设您要分面的字段是 createdDate
并且类型是 Edm.DateTimeOffset
。根据您的要求,我认为您在获取分面数据后必须进行一些计算。
这些是您感兴趣的日期
(今天) - 2021-08-12T00:00:00Z
昨天 -(今天 - 1 天)2021-08-11T00:00:00Z
上周 -(昨天 - 1 周)2021-08-04T00:00:00Z
上个月 -(4 周回退 1 周回退)2021-07-12T00:00:00Z
去年-(1年前到上个月)2020-08-12T00:00:00Z
查询和响应
所以您将在您的方面指定 4 个值 - 昨天、上周、上个月、去年。我将首先在实际查询中使用这些名称以使其更具可读性。第二个是您将进行的实际查询
- 人类可读的查询 -
facet=createdDate,values:last year | last month | last week | yesterday
- 实际搜索查询 -
facet=createdDate,values:2020-08-12T00:00:00Z| 2021-07-12T00:00:00Z | 2021-08-04T00:00:00Z | 2021-08-11T00:00:00Z
这将产生如下 5 个数据桶。
a - 所有比去年旧的东西(你不需要这个,你可以扔掉)
b - 从去年到上个月的所有内容
c - 从上个月到上周的所有内容
d - 从上周到昨天的所有事情
e - 从昨天到今天的一切
解决方案
下面将进行计算,以获得您需要的范围。
今天创建 (123) -
e
上周创建 (3,455) -
d + e
上个月创建 (12,234) -
c + d + e
去年创建 (112,234) -
b + c + d + e
去年之前创建 (547,838) -
a