Lucene - 如何索引两个不同字段中的文件内容

时间:2014-06-25 13:27:38

标签: java lucene indexing

如何索引字段中文件的第一行和其他字段中的其他行?

我的代码是:

  FileInputStream fis;
  try {
    fis = new FileInputStream(file);
  } catch (FileNotFoundException fnfe) {
    return;
  }

  try {

    Document doc = new Document();

    doc.add(new TextField("contents", new BufferedReader(new InputStreamReader(fis, StandardCharsets.UTF_8))));
  } finally {
    fis.close();
  }

请帮助我!

1 个答案:

答案 0 :(得分:0)

我做到了!

FileInputStream fis;
try {
  fis = new FileInputStream(file);
} catch (FileNotFoundException fnfe) {
  return;
}

try {

  Document doc = new Document();

  String line = null;
  try (BufferedReader reader = new BufferedReader(new InputStreamReader(fis, StandardCharsets.UTF_8))) {
    line = reader.readLine();
    Field headerField = new TextField("header", line, Field.Store.YES);
    headerField.setBoost(2.0F);
    doc.add(headerField);
    while ((line = reader.readLine()) != null ) {
        doc.add(new TextField("contents", line, Field.Store.YES));
        }
    } catch (IOException e) {
        System.err.println(e);
    }

} finally {
  fis.close();
}