*Hi all,* ** *I wanted to use to following code to highlight the whole sentence with "\"something\"~n" to be parsed.* ** *The QueryParser part worked well, but when integrated with Highlighter, it ended up with exception. * ** *Does anyone have any clue as I'm investigating this.* ** ** *Thanks,* **
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/lucene/index/memory/MemoryIndex at org.apache.lucene.search.highlight.WeightedSpanTermExtractor.getReaderForField( *WeightedSpanTermExtractor.java:361*) at org.apache.lucene.search.highlight.WeightedSpanTermExtractor.extractWeightedSpanTerms( *WeightedSpanTermExtractor.java:282*) at org.apache.lucene.search.highlight.WeightedSpanTermExtractor.extract(* WeightedSpanTermExtractor.java:149*) at org.apache.lucene.search.highlight.WeightedSpanTermExtractor.getWeightedSpanTerms( *WeightedSpanTermExtractor.java:414*) at org.apache.lucene.search.highlight.QueryScorer.initExtractor(* QueryScorer.java:216*) at org.apache.lucene.search.highlight.QueryScorer.init(* QueryScorer.java:184*) at org.apache.lucene.search.highlight.Highlighter.getBestTextFragments(* Highlighter.java:226*) at org.apache.lucene.search.highlight.Highlighter.getBestFragments(* Highlighter.java:184*) at org.apache.lucene.search.highlight.Highlighter.getBestFragments(* Highlighter.java:488*) at Hightlight.main(*Hightlight.java:182*) ** *public* *class* Hightlight { *private* *static* *final* String *text* = "Giving end users some context around hits from their searches is friendly and, more important, useful. An useful example is friendly Google search context."; *private* *static* *final* String[] *stopwords* = {}; *private* *static* IndexSearcher *searcher*; *public* *static* *void* main(String[] args) *throws* Exception { String filename = args[0]; String searchText = "\"Giving and\"~11"; #1 QueryParser parser = *new* QueryParser("f", *new* StandardAnalyzer(*stopwords*)); Query query = parser.parse(searchText); SimpleHTMLFormatter formatter = *new* SimpleHTMLFormatter("<span class=\"highlight\">", "</span>"); TokenStream tokens = *new* StandardAnalyzer(*stopwords*) .tokenStream("f", *new* StringReader(*text*)); QueryScorer scorer = *new* QueryScorer(query, "f"); Highlighter highlighter = *new* Highlighter(formatter, scorer); highlighter.setTextFragmenter( *new* NullFragmenter()); String result = highlighter.getBestFragments(tokens, *text*, 3, "..."); FileWriter writer = *new* FileWriter(filename); writer.write("<html>"); writer.write("<style>\n" + ".highlight {\n" + " background: yellow;\n" + "}\n" + "</style>"); writer.write("<body>"); writer.write(result); writer.write("</body></html>"); writer.close(); } }