我在 MySQL 表中有一个十进制列,它代表钱。我想使用数据导入处理程序将这些数据导入 Solr。我不确定存储这些数据的最佳方式是什么。我想到了这些选项:
浮动:会引入不准确性。
字符串:会使搜索范围变得困难。
Int:将要求每个数字在被索引之前乘以 100,并在检索时除以 100。
货币:Solr 4.0 的新功能。此字段类型是否合适,还是用于货币转换?
我正在使用 Solr 4.0.0。
基于Solr Wiki 上CurrencyField定义中的信息。此字段类型听起来像是适合您的解决方案。它提供货币转换,但前提是您应该选择使用该功能。请注意,此字段类型尚不支持按范围分面。
正如 Paige 所建议的,CurrencyField
是使用的适当字段。
但是,如果您需要按范围分面,则可以使用第二个浮点字段,indexed=true,stored=false,并使用copyfield从原始字段复制到浮点字段。然后,您可以将这个不准确的浮点字段用于按范围查询的分面,并将原始货币字段用于其他所有内容。