0

ファイルコンテンツ(プレーンテキスト)のインデックスを作成して保存しようとしていますが、その方法では使用できないようです:

protected Document getDocument(File f) throws Exception {
  Document doc = new Document();
  Field contents = new Field("contents", new FileReader(f));
  Field filename = new Field("filename", f.getName(), Field.Store.YES, Field.Index.ANALYZED);
  doc.add(contents);
  return doc;
}

プレーンテキストファイル (タグなし) のコンテンツを保存する方法は?

4

2 に答える 2

2

ファイルの内容を読み取って、次のような別の Field コンストラクターを使用するだけです

protected Document getDocument(File f) throws Exception {
  Document doc = new Document();
  Field contents = new Field("contents", new Scanner(f).useDelimiter("\\A").next(), Store.YES, Index.NO);  // you should actually close the scanner
  Field filename = new Field("filename", f.getName(), Store.YES, Index.ANALYZED);
  doc.add(contents);
  doc.add(filename);
  return doc;
}
于 2012-10-05T16:51:03.523 に答える
1

Apache Tika (http://tika.apache.org/) を見てください。HTML やその他の構造化ドキュメントからテキストを抽出するための優れたライブラリがあります。これは、HTML からテキストを抽出するのに役立ちます。

lucene インデックスへの保存に関しては、必要に応じて、保存する前にタグを取り除くことができます。または、それを使用してアナライザーを作成し、インデックスが作成されるときにタグを削除することもできます。

于 2012-10-04T13:22:08.310 に答える