[英]How to STORE numeric values in lucene documents?
我正在用Java编写代码,并使用lucene 3.4索引文本文档。 每个文档都有一个id
和一些其他数值以及内容和标题。
我根据以下代码将每个文档添加到索引:
Document doc = new Document();
doc.add(new NumericField("id").setIntValue(writer.numDocs()));
doc.add(new NumericField("year").setIntValue(1988));
doc.add(new Field("content", new FileReader(file)));
writer.addDocument(doc);
writer.close();
但是,当我搜索并想要获取结果时,这些字段将返回null。 我知道每当我添加一个字段并设置Field.Store.NO时,它都将返回null
,但是为什么它现在会发生呢? 我应该怎么做才能获得这些领域的价值?
doc.get("id"); //why it returns null? what should I do?
默认情况下,不存储数字字段。
使用NumericField(String,Field.Store,boolean)构造函数可以指定要存储的内容,以备日后检索。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.