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 garejoor <ga...@gmail.com> on 2015/04/08 21:57:39 UTC

getBestFragments only returning 1 item

I'm trying to use getBestFragments to concatenate the most relevant segments
of a document, but it only returns one. I must be doing something wrong
here. Here is the the code:
private static void createResult(float in_score,			String in_category,		
String in_subject,			String in_path,			Query in_query) {		// read file
content using path		byte[] encoded;		try {			encoded =
Files.readAllBytes(Paths.get(in_path));		} catch (IOException e) {			// TODO
Auto-generated catch block			e.printStackTrace();			return null;		}	   
QueryScorer queryScorer = new QueryScorer(in_query);	    Highlighter
highlighter = new Highlighter(_formatter, queryScorer);	    	   
highlighter.setTextFragmenter(new SimpleSpanFragmenter(queryScorer, 100));	   
highlighter.setMaxDocCharsToAnalyze(Integer.MAX_VALUE);	    	    String[]
t_res;		try {			t_res = highlighter.getBestFragments(_analyzer,
_querySearchContext, 					new String(encoded), 5);			//t_res.length is
always 1					} catch (IOException e) {			// TODO Auto-generated catch block		
e.printStackTrace();			return null;		} catch (InvalidTokenOffsetsException
e) {			// TODO Auto-generated catch block			e.printStackTrace();			return
null;		}	    		String t_html = "...";		for(String value : t_res) {			t_html
+= value.replace("\n", "").replace("\r", "").replace("-", "").replace("\t","
") + "...";	        }                System.out.println(t_html);}




--
View this message in context: http://lucene.472066.n3.nabble.com/getBestFragments-only-returning-1-item-tp4198479.html
Sent from the Lucene - Java Users mailing list archive at Nabble.com.