如何索引Lucene 3.0.1中的BigDecimal值

Pet*_*rta 8 java lucene indexing search-engine bigdecimal

我有一些BigDecimal值,应该为搜索索引.Lucene有NumericField,但它只有long,double,float和int的setter.我可以将它存储为String但我不会受益于NumericRangeQuery.

你如何存储你的BigDecimals?分享的最佳做法是什么?

Pas*_*imo 1

Steven Rowe 在这篇文章中提供了有趣的想法:
http://www.lucidimagination.com/search/document/ad648772f8825a28/bigdecimal_values#2502f96055839c3d

他说他的方案可能可以用来表示所有 BigDecimal 值。如果不需要负值,似乎更容易实现。就像 Mindas 建议的那样,您可以扩展 AbstractField 来实现这一点。

还有 Yonik Seeley,他说他已经开始在 Solr 中使用 BCDUtils 类进行一些工作:
http://www.lucidimagination.com/search/document/ad648772f8825a28/bigdecimal_values#cef1d0e25af063ef