lucene 3.0.2中的搜索问题
压缩字段值后,我已对该字段执行存储和索引 但是当我尝试搜索值时,我得到了命中率,但没有得到值。我如何也能得到这个值 /*这是我的索引代码*/ 文档absDoc=新文档();valuesbyte=CompressionTools.compress(valueForCompress.getBytes()) /*搜索代码*/ Query=parser.parse(searchStr);TopDocs hits=is.search(查询,10)lucene 3.0.2中的搜索问题,lucene,Lucene,压缩字段值后,我已对该字段执行存储和索引 但是当我尝试搜索值时,我得到了命中率,但没有得到值。我如何也能得到这个值 /*这是我的索引代码*/ 文档absDoc=新文档();valuesbyte=CompressionTools.compress(valueForCompress.getBytes()) /*搜索代码*/ Query=parser.parse(searchStr);TopDocs hits=is.search(查询,10) System.out.println(“Hits=“+Hi
System.out.println(“Hits=“+Hits.scoreDocs.length”);//它显示了所有的点击率
单据单据=新单据();
对于(int i=0;i使用doc.getBinaryValue()
而不是doc.get()
)
absDoc.add(new Field("Abstract", valuesbyte, Field.Store.YES));
absDoc.add(new Field("Abstract", valueForCompress, Field.Store.NO,
Field.Index.ANALYZED, Field.TermVector.NO));
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
}