LuceneがFieldsで提供するreaderValue()を使用してフィールドのインデックスを作成しようとしました。事は、用語が索引付けされていないということです。これは、コードの興味深い部分である:インデックスフィールドの使用:new TextField(String fieldName、Reader reader)
今IndexWriterConfig config = new IndexWriterConfig(new SimpleAnalyzer());
IndexWriter indexWriter = new IndexWriter(directory, config);
indexWriter.deleteAll();
String str = "Some random text to be indexed";
Reader reader = new StringReader(str);
Document doc = new Document();
doc.add(new TextField("content", reader));
indexWriter.addDocument(doc);
、I指数は、他のTextFieldのコンストラクタを持つ文字列として、それが正常に動作しているテキストが、ときに私のようにそれは、インデックスの用語は、代わりにnullを返していない場合検索した後、フィールドの値を取得しよう:
QueryParser queryParser = new QueryParser("content", new SimpleAnalyzer());
Query query = queryParser.parse(text);
TopDocs topDocs = indexSearcher.search(query,10);
for (ScoreDoc scoreDoc : topDocs.scoreDocs) {
Document document = indexSearcher.doc(scoreDoc.doc);
Reader r = document.getField("content").readerValue();
私は実際には問題を見ることができない、多分それは私が逃したいくつかのダムの事である、または多分私はそれが間違って使っていますか?助けを前にありがとう。