我有一个 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.Double
、Edm.Int32
或 Edm.Int64
。
您可以在Azure Search UserVoice上添加金钱/小数数据类型的建议.
关于azure - 如何在azure搜索服务中比较货币类型数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42870519/