2010-12-15 16 views
0

フィールド値を圧縮した後フィールドの保存とインデックス作成を実行しました しかし、値を検索しようとするとヒットは得られますが値は取得されません。どのように私は価値を得ることができますか?luceneの検索で問題が発生しました3.0.2

/*ここでは、インデックスのための私のコードがある*/

ドキュメントabsDoc =新しいドキュメント(); valuesbyte = CompressionTools.compress(valueForCompress.getBytes());

absDoc.add(new Field("Abstract", valuesbyte, Field.Store.YES)); 
    absDoc.add(new Field("Abstract", valueForCompress, Field.Store.NO, 
       Field.Index.ANALYZED, Field.TermVector.NO)); 

/*コード*/

クエリのクエリ= parser.parse(searchStr)を検索します。 TopDocsのヒット= is.search(クエリ、10);

System.out.println("Hits = " + hits.scoreDocs.length); // It's displaying all hits 
Document doc = new Document(); 

for(int i=0;i<hits.scoreDocs.length;i++) { 
    ScoreDoc scoreDoc = hits.scoreDocs[i]; 
    doc = is.doc(scoreDoc.doc); 
    System.out.println(doc.get(fieldName)); // Here i got null value 
} 

答えて

0

利用doc.getBinaryValue()の代わりdoc.get()

関連する問題