weixin_42207838
2008-06-24 08:50 阅读 265

我的lucene高亮时出现下面的错误,请问是什么意思? 怎么解决?

Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.apache.lucene.search.highlight.QueryTermExtractor.getTerms(QueryTermExtractor.java:125)
at org.apache.lucene.search.highlight.QueryTermExtractor.getTerms(QueryTermExtractor.java:96)
at org.apache.lucene.search.highlight.QueryTermExtractor.getTerms(QueryTermExtractor.java:109)
at org.apache.lucene.search.highlight.QueryTermExtractor.getTerms(QueryTermExtractor.java:48)
at org.apache.lucene.search.highlight.QueryScorer.(QueryScorer.java:50)
at org.apache.jsp.results_jsp._jspService(results_jsp.java:244)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

10条回答 默认 最新

  • 已采纳
    weixin_42511326 weixin_42511326 2008-06-26 10:19

    做如下判断:
    Document doc = (Document) hits.doc(j);
    String ct_title = doc.get("ct_title");
    if (ct_title != null) {
    TokenStream tokenStream = analyzer.tokenStream("ct_title",new StringReader(ct_title));
    ct_title = highlighter.getBestFragment(tokenStream,ct_title);
    ct_title = ct_title == null ? doc.get("ct_title"): ct_title;
    }

    点赞 评论 复制链接分享
  • wifivein vein 2008-06-24 10:18

    把你用的的QueryTermExtractor代码贴出来,我的版本跟你不一样

    NullPointerException基本上是最容易解决的问题...

    点赞 评论 复制链接分享
  • iteye_20052 iteye_20052 2008-06-24 11:02

    该org.apache.lucene.search.highlight.QueryTermExtractor对象为空!请仔细检查

    点赞 评论 复制链接分享
  • LibraMX LibraMX 2008-06-24 13:08

    当你要高亮某字段数据时,这列没有包含你搜索的关键词,所以会返回空。

    点赞 评论 复制链接分享
  • nanling_ nanling_ 2008-06-24 14:10

    加高亮时进行非空判断,为空就跳过,不为空就进行高亮处理~~~

    点赞 评论 复制链接分享
  • iteye_19009 iteye_19009 2008-06-24 15:55

    加高亮时进行非空判断,为空就跳过,不为空就进行高亮处理~~~

    我觉得也是这个问题 你检查一下
    空指针异常一般是穿值为空了

    点赞 评论 复制链接分享
  • congjl2002 congjl2002 2008-06-24 22:08

    明显空指针异常错误,打个断点跟踪一下,看看哪出来的,解决应该很容易,lz这个问题怎么感觉好像是不太了解java呢

    点赞 评论 复制链接分享
  • limenglm limenglm 2008-06-25 08:14

    这就要看具体的太吗了?
    我想大多都是一些不注意的地方
    这个异常很多的,也很频繁的.

    点赞 评论 复制链接分享
  • bee100 bee100 2008-06-26 09:13

    看看传入的值是否为空?

    判断一下!

    点赞 评论 复制链接分享
  • youjianbo_han_87 youjianbo_han_87 2008-06-26 09:44

    你的jar包放对地方了吗,怎么像没找到 jar一样,断点调试一下

    点赞 评论 复制链接分享

相关推荐