azure - 如何在azure搜索服务中比较货币类型数据?

标签 azure odata azure-cognitive-search

我有一个 azure 的搜索服务,其中包含一些名为“价格”的货币类型数据,当我尝试排序或过滤时遇到问题。

测试查询表达式为“&seach=*&$orderby=price desc”,返回结果如图 As you can see,the money type automatic convert to string type thus the sort result is compare the string

我担心将money类型更改为double类型会出现一些计算错误。有谁知道如何在不更改数据类型的情况下解决这个问题?

最佳答案

索引架构中 price 字段的数据类型似乎是 Edm.String - 这就是值按字符串排序的原因。您需要将价格存储为数字。目前 Azure 搜索不支持货币或小数数据类型,因此您需要使用数字类型之一,例如 Edm.DoubleEdm.Int32Edm.Int64

您可以在Azure Search UserVoice上添加金钱/小数数据类型的建议.

关于azure - 如何在azure搜索服务中比较货币类型数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42870519/

相关文章:

r - Microsoft R Server 中的 Shiny 应用程序

c# - AppContextSwitchOverrides 不起作用,在授权上下文中发现 3 个 DNS 声明

entity-framework - 升级到EF 6(RTM)-无法将System.Data.Entity.Core.Objects.ObjectContext用作返回类型System.Data.Objects

java - Azure 搜索索引器 base64encode 函数

azure - 将 Azure 计算机视觉读取响应转换为 Azure 认知搜索中相关的 MergeText 技能

networking - 将azure云服务添加到azure虚拟网络

azure - 我可以将 Elmah 错误详细信息发送到 ApplicationInsights 吗?

error-handling - 使用批处理模式处理OData异常

javascript - JayData 创建对象未按预期工作

python - 在 python3 中获取一个列表并生成一个字符串,但转义双引号以便作为搜索参数传递给 azure 搜索