Azure 搜索窗口函数



如果我的索引中有文档的历史记录,是否可以检索所有最新的文档? 因此,假设我有产品记录,并且具有 productid 属性"myprod"的产品出现了 5 次,数据略有不同,每次都有时间戳。 当我使用日期进行搜索时,我希望所有产品记录在该日期有效,即日期小于搜索日期并且是该产品的最大值。 在 SQL 中很容易。在 Azure 搜索中可能吗?如果我们必须移动,甚至是弹性搜索?

谢谢

当然可以在弹性搜索和 Azure 搜索中添加用于此目的的范围筛选器。

我假设您的数据被格式化为日期,在弹性搜索中,您所要做的就是

"filter": {
"range": {
"<the date field name>": {
"gte": "2018-01-01",
"lte": "2018-01-01"
}
}
} 

和在 Azure 搜索中

filter=<the date field name> ge 2018-01-01T00:00:00-08:00  and <the date field name> le 2018-01-01T00:00:00-08:00

为了按照您的描述过滤记录,您需要做 3 件事:

  1. 按日期$filter(就像GD Vigneshwar已经建议的那样(
  2. $orderby日期
  3. 仅选取排序列表中首先出现的不同产品 ID

不幸的是,3.必须在客户端/服务器端发生。

相关内容

  • 没有找到相关文章

最新更新