我正在使用lucene.net并尝试了以下但它无法正常工作
NumericField myField = (NumericField)doc.GetFieldable("mynumber")
int val = (int)myField.NumericValue;
有关如何阅读/转换为数字字段或任何其他替代方法的任何想法?
答案 0 :(得分:3)
NumericFields仅在索引期间使用。对于文档检索,假设您已存储了字段值,则应从索引中检索文本值并将其转换为整数。
修改新示例的代码(未编译但应该清除):
var myField = doc.GetFieldable("mynumber").StringValue();
var val = Int32.Parse(myField);
要确保已存储数字字段,请使用NumericField构造函数,该构造函数允许您指定是否以及如何存储字段。