压缩字段值后,我已经执行了该字段的存储和索引 但是当我试图搜索价值时,我得到的是点击量而不是值。我怎么能得到这个价值?
/ *这是我的索引编码* /
文件absDoc = new Document(); 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));
/ *搜索代码* /
查询query = parser.parse(searchStr); TopDocs hits = is.search(query,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 :(得分:0)
使用doc.getBinaryValue()
代替doc.get()
。