2

我在 MySQL 表中有一个十进制列,它代表钱。我想使用数据导入处理程序将这些数据导入 Solr。我不确定存储这些数据的最佳方式是什么。我想到了这些选项:

浮动:会引入不准确性。

字符串:会使搜索范围变得困难。

Int:将要求每个数字在被索引之前乘以 100,并在检索时除以 100。

货币:Solr 4.0 的新功能。此字段类型是否合适,还是用于货币转换?

我正在使用 Solr 4.0.0。

4

2 回答 2

3

基于Solr Wiki 上CurrencyField定义中的信息。此字段类型听起来像是适合您的解决方案。它提供货币转换,但前提是您应该选择使用该功能。请注意,此字段类型尚不支持按范围分面。

于 2012-11-12T01:20:49.497 回答
0

正如 Paige 所建议的,CurrencyField是使用的适当字段。

但是,如果您需要按范围分面,则可以使用第二个浮点字段,indexed=true,stored=false,并使用copyfield从原始字段复制到浮点字段。然后,您可以将这个不准确的浮点字段用于按范围查询的分面,并将原始货币字段用于其他所有内容。

于 2012-11-13T22:11:29.200 回答