我是Lucene的新手,我正在尝试使用Luke打开一个Lucene 4.3索引(我使用我的简单Lucene 4.3.1应用程序创建),但它一直在给我:
该位置的目录无效,请检查控制台以获取更多信息。 最后一个异常:java.lang.IllegalArgumentException:一个SPI类 输入名称为“Lucene42”的org.apache.lucene.codecs.Codec不会 存在。您需要添加支持此SPI的相应JAR文件 到你的classpath。当前的类路径支持以下名称: [Lucene40,Lucene3x,SimpleText,追加]
精细。所以我将代码中使用的Lucene版本设置为Version.LUCENE_43
。我也尝试过早期的3.x版本。我在这做错了什么?是否可以使用另一个Lucene索引浏览器?
我正在使用java -jar lukeall-4.0.0-ALPHA.jar
运行Luke,我告诉它打开我的应用正在生成的索引。
更新
我尝试将我的CLASSPATH设置为包含lucene-core:4.3.1:jar。这没有用。
Luke抛出了这个错误:
java.lang.IllegalArgumentException:名称为“Lucene42”的类型为org.apache.lucene.codecs.Codec的SPI类不存在。您需要将支持此SPI的相应JAR文件添加到类路径中。当前类路径支持以下名称:[Lucene40,Lucene3x,SimpleText,Appending] java.lang.IllegalArgumentException:名称为“Lucene42”的类型为org.apache.lucene.codecs.Codec的SPI类不存在。您需要将支持此SPI的相应JAR文件添加到类路径中。当前类路径支持以下名称:[Lucene40,Lucene3x,SimpleText,Appending]
非常感谢!
答案 0 :(得分:11)
经过长时间的搜索,我被指示在这里寻找最新的Luke版本:Opengrok,在那里你可以找到Luke版本超过网站上提供的4.0.0-alpha版本。 Luke 4.4应该能够通过一些警告来阅读当前的索引格式。
答案 1 :(得分:8)
有人利用他的时间来修复lucene-4.3.1。
答案 2 :(得分:3)
github上有一个更新的存储库,可以下载版本: