3

我正在使用 lucene.net 并尝试了以下方法,但没有成功

NumericField myField = (NumericField)doc.GetFieldable("mynumber")
int val = (int)myField.NumericValue;

任何想法如何读取/转换为 numericfield 或任何其他替代方案?

4

1 回答 1

3

NumericFields 仅在索引期间使用。对于文档检索,假设您已经存储了字段值,您应该从索引中检索文本值并将其转换为整数。

为新示例修改代码(未编译,但应该清楚):

var myField = doc.GetFieldable("mynumber").StringValue();
var val = Int32.Parse(myField);

要确保已存储数字字段,请使用 NumericField 构造函数,该构造函数允许您指定是否以及如何存储该字段。

于 2013-01-02T00:07:54.720 回答