【问题标题】:How to STORE numeric values in lucene documents?如何在 lucene 文档中存储数值?
【发布时间】:2013-08-12 14:27:19
【问题描述】:

我正在用 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?

【问题讨论】:

    标签: java search lucene


    【解决方案1】:

    默认情况下不存储数字字段。

    使用 NumericField(String, Field.Store, boolean) 构造函数指定如果您想稍后检索它应该存储它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      • 2015-12-23
      • 1970-01-01
      • 2011-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多