首页 > 编程语言 >Lucene3.0.2高亮显示报:java.lang.reflect.InvocationTargetException

Lucene3.0.2高亮显示报:java.lang.reflect.InvocationTargetException

时间:2023-09-07 11:34:07浏览次数:37  
标签:lang 检索 高亮 highlighter Lucene3.0 3.0 java tokenStream


项目原导入包:

lucene-core-3.0.2.jar

lucene-highlighter-3.0.2.jar

采用TermPositionVector位置方式进行高亮显示,主要代码如下:

     TermPositionVector termFreqVector = (TermPositionVector)reader.getTermFreqVector(id, fieldName);

     TokenStream tokenStream = TokenSources.getTokenStream(termFreqVector,true);  
          
     String content = hitDoc.get(fieldName);
           String result = highlighter.getBestFragments(tokenStream, content, 5,"...");  

  检索:测试

     或:测试 新建

运行正常,但是检索:测试新建

执行highlighter.getBestFragments(tokenStream, content, 5,"...");

2010-7-20 8:58:06 org.apache.catalina.core.ApplicationContext log
信息: java.lang.reflect.InvocationTargetException

分析:从上面可以看出当查询语句中对单个Term检索则高亮显示正常,但如果是多个Term合在一起检索就会报错。

MemoryIndex.java。

再次测试ok。

原来高亮显示不仅要导入lucene-highlighter-3.0.2.jar,还需要导入lucene-memory-3.0.2.jar。

标签:lang,检索,高亮,highlighter,Lucene3.0,3.0,java,tokenStream
From: https://blog.51cto.com/u_2544485/7395469

相关文章

  • 善用java中的随机数
    Math.random()方法:产生0~1间的一个double随机值。(可直接用)还可以让random作为时间种子:在java.util.Random类下,有:Randomr=newRandom();r.nextInt(100);//生成0~99之间的随机整数还有,System类里有一个currentTimeMills()方法,返回一个从1970年1月1日0点0分0秒到目前的一个随......
  • 深入研究java.lang.Runtime类
    在线API:http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Runtime.html转自:http://lavasoft.blog.51cto.com/62575/15565一、概述     Runtime类封装了运行时的环境。每个Java应用程序都有一个Runtime类实例,使应用程序能够与其运行的环境相连接。     ......
  • 全面讲述Lucene3.0的Lucene In Action(第二版)出来了
     此版为图灵的MEAP版本,感兴趣的赶紧下哦……源代码文件太大,不传了LuceneInAction2ndEditionMEAP.rar(4.1MB)下载次数:634Lucene3.0介绍博客:     LeftNotEasy:    瓜蛙人:http://hxraid.javaeye.com/category/107117......
  • Java低代码开发:jvs-list(列表引擎)功能(二)字段及样式配置
    字段的增减进入列表页设计器-页表设计界面,点击新增一行、或者删除按钮,可以对字段进行增减操作,如果对于权限的列表页,可以使用批量创建字段的按钮:字段的批量设置,点击批量添加如下图所示字段为中文名称,每一行为一个字段,默认去除空格默认字段系统提供创建人、创建时间、修改人、修改时......
  • Java开发过程小问题
    报错信息:org.yaml.snakeyaml.error.YAMLException:java.nio.charset.MalformedInputException:Inputlength=2解决办法:1.修改编码方式2.重启idea......
  • 无涯教程-JavaScript - BESSELI函数
    描述BESSELI函数返回修改后的Bessel函数In(x),该函数等效于针对纯虚参判断的Bessel函数。语法BESSELI(X,N)争论Argument描述Required/OptionalXThevalueatwhichtoevaluatethefunction.RequiredNTheorderoftheBesselfunction.Ifnisnotaninteger,......
  • Sermant类隔离架构解析——解决JavaAgent场景类冲突的实践
    一、JavaAgent场景为什么要注意类冲突问题?类冲突问题并非仅存在于JavaAgent场景中,在Java场景中一直都存在,该问题通常会导致运行时触发NoClassDefFoundError、ClassNotFoundException、NoSuchMethodError等异常。从使用场景来看,基于JavaAgent技术所实现的工具,往往用于监控、治理等场......
  • 掌握Java常用机制,让你的代码更优雅
    Java是一种面向对象的编程语言,它提供了许多常用的机制来简化编程过程。以下是Java中一些常用的机制:异常处理机制:Java中的异常处理机制可以帮助程序员捕获和处理程序运行时的错误。通过使用try-catch语句块,程序员可以捕获特定类型的异常,并在发生异常时执行相应的代码。例如:try{......
  • 《自己动手建搜索引擎》日志分析类代码解析与修正为兼容lucene3.0.2
    搜索日志是用来分析用户搜索行为和信息需求的重要依据。一般记录如下信息:搜索关键字用户来源IP本次搜索返回结果数量搜索时间其他需要记录的应用相关信息  例如:搜索时间|日志类型|搜索类型|搜索关键字|IP地址|本次搜索返回结果数量, 存放日志文件内容如下:2008-04......
  • 【JAVA】java.lang.IllegalStateException: Failed to get nested archive for entry
    无脑看:解压后,替换lib里的jar,在本窗口用命令:jar-xvf ***.jar进行打包就行了。 一、背景:替换jar包中lib里的jar包1、在经过360压缩软件打开后进行了替换,运行报错 (PS.有时候不显示日志的时候可以在bat最后加一个pause)2、在经过WINRAR压缩软件进行存储(stor......