关于搜索引擎高亮显示问题的个人方法心得:
方法一:很多人说在数据库中直接使用这个,但是具体怎么实现你们可以去问一下那些高手,呵呵,我是没太明白,竟然有人可行,说明这种方法是实用的,只是看不同版本是否都能解决问题。给出的例子:q1=q1.replaceAll(keywords, \"\"+keywords+\"\");这其中q1是字段名称。在数据库中这种方式是可行的。如果要实现搜索引擎的关键字高亮显示,我就不知道这种方式怎么实现了,可以参与共同讨论;
方法二:在jsp页面中使用Highlighter方法; 例如我的程序中的代码如下: String q1=\"啊哦\";
request.setCharacterEncoding(\"gb2312\"); ArrayListtemp=(ArrayList)request.getAttribute(\"result\");String word=request.getParameter(\"textfield1\"); Query
query=IKQueryParser.parse(\"
啊
哦
\ Analyzer analyzer=new IKAnalyzer(); QueryScorer scorer=new QueryScorer(query);
SimpleHTMLFormatter SimpleHTMLFormatter(\"\"); HighlightersimpleHTMLFormatter=new
color='red'>\
highlighter=new
Highlighter(simpleHTMLFormatter,scorer); for(int i=0;itext=highlighter.getBestFragment(analyzer,\"\进行高亮显示out.print(\"\"+text+\"
\");//显示原文和注释的输出结果
方法三:在lucene建索引的过程中高亮显示,这样的话就显示在内存中了。 例如我的程序:
//String[] highlightCol = {\"啊哦\ //Highlighter highlighter = null;
如果有什么问题,可以联系作者:766003546@qq .com 。希望共同学习和探讨。敬请批评。
啊
哦