gpt4 book ai didi

azure-cognitive-search - Azure 搜索 : How does Orderby treat null integer values?

转载 作者:行者123 更新时间:2023-12-03 09:00:31 25 4
gpt4 key购买 nike

我有一个从 AngularJS 应用程序访问的 Azure 搜索索引,但遇到了一些问题。我的一个表有一个属性,该属性为表中的行定义“排序顺序”,该属性将在应用程序中用于确定向用户显示表中的项目的顺序。排序顺序是一个整数,这里的目标是当管理员用户将“排序顺序”定义为 1 时,该项目将出现在第一个,2 将出现在第二个,依此类推。

我的首选解决方案是仅按升序对查询结果进行排序并将其输出给用户,但我遇到了空值问题,因为“排序顺序”不是必填字段。我的所有模型都是用 C# 编写的,因此空条目被设置为 0,因此如果按升序排序,则将首先显示未定义排序顺序的条目,这与我想要的完全相反。

有很多不同的方法可以处理这个问题,但最简单的方法是将 SortOrder 属性设置为可为 null 的 int。唯一的问题是我不确定 Azure 搜索如何使用其 OrderBy 语句处理空值。我最初的想法是,如果按升序排序,它会先按升序列出所有数值,然后将空值踢到最后。如果是这样,那就完美了,但我只是想知道是否确实如此。

简而言之,我的问题是:Azure 搜索会将空值视为大于或小于定义的整数值吗?换句话说,如果我按升序排列整数,空值会出现在顶部还是底部?

最佳答案

Azure 搜索会将 $orderby 列恰好为 null 的文档放置在结果末尾。无论您选择按“降序”还是“升序”排序,都是如此。

如果有多个文档的 $orderby 列为空,请放心,所有这些文档都会放置在末尾附近,但理想情况下,您应该将“空值”文档之间的顺序视为未定义。

关于azure-cognitive-search - Azure 搜索 : How does Orderby treat null integer values?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50932260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com