You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@lucene.apache.org by AarKay <ks...@gmail.com> on 2013/05/09 16:30:27 UTC
FastVectorHighlighter returns null fragments - Lucene 4.0
I have an index built using Lucene4 with below config
storeTermVectors=true
storeTermVectorPositions=true
storeTermVectorOffsets=true
IndexOptions.DOCS_AND_FREQS_AND_POSITIONS_AND_OFFSETS
I am trying to use FastVectorHighlighter for retrieving the snippets from
hit docs but getBestFragment method is returning nulls even when there are
hit docs.
Can someone please tell me what am i doing wrong?
Here is the code snippet on how I am using FastVectorHighlighter
private FastVectorHighlighter getHighlighter() {
FragListBuilder fragListBuilder = new SimpleFragListBuilder(200);
FragmentsBuilder fragmentBuilder = new
SimpleFragmentsBuilder(PRE_TAGS, POST_TAGS);
return new FastVectorHighlighter(true, true, fragListBuilder,
fragmentBuilder);
}
public void testHighlight(String term) throws Exception {
ClassicAnalyzer analyzer = new ClassicAnalyzer(Version.LUCENE_40);
Query query = new QueryParser(Version.LUCENE_40, "contents:,
analyzer).parse(term);
FastVectorHighlighter highlighter = getHighlighter();
FieldQuery fieldQuery = highlighter.getFieldQuery(query);
TopDocs topDocs = indexSearcher.search(query, 10);
List<String> fragments = new ArrayList<String>();
for (ScoreDoc scoreDoc : topDocs.scoreDocs) {
fragments.add(highlighter.getBestFragment(fieldQuery,
indexSearcher.getIndexReader(), scoreDoc.doc, "contents", 1000));
}
System.out.println( fragments.size() + " " + fragments.toString());
}
Thanks
AarKay