我有一个天蓝色的搜索服务,其中包含一些名为' price'的货币类型数据,当我尝试排序或过滤时,我遇到了问题。
测试查询表达式为"& seach = *& $ orderby = price desc",返回结果请参考图片 As you can see,the money type automatic convert to string type thus the sort result is compare the string
我担心将钱类型更改为double类型会使计算错误。有没有人知道如何解决这个问题而不更改数据类型?
答案 0 :(得分:1)
您的索引架构中的price
字段的数据类型似乎是Edm.String
- 这就是为什么值被排序为字符串的原因。您需要将价格存储为数字。目前,Azure搜索不支持money或decimal数据类型,因此您需要使用其中一种数字类型,例如Edm.Double
,Edm.Int32
或Edm.Int64
。
您可以在Azure Search UserVoice上添加货币/小数数据类型的建议。