@Override public String format(Passage passages[], String content) { StringBuilder sb = new StringBuilder(); int pos = 0; for (Passage passage : passages) { for (int i = 0; i < passage.getNumMatches(); i++) { int start = passage.getMatchStarts()[i]; int end = passage.getMatchEnds()[i]; sb.append(content.substring(pos, start)); sb.append("<span class=\"highlight\">"); sb.append(content.substring(start, end)); sb.append("</span>"); pos = end; } } if (pos < content.length()) { sb.append(content.substring(pos)); } return sb.toString(); } });
StringBuilder sb = new StringBuilder(); pos = passage.getStartOffset(); for (int i = 0; i < passage.getNumMatches(); i++) { int start = passage.getMatchStarts()[i]; int end = passage.getMatchEnds()[i]; snippets[j] = new Snippet(sb.toString().trim(), passage.getScore(), passage.getNumMatches() > 0);