10

我是一个 Lucene 新手,我正在尝试使用 Luke 打开一个 Lucene 4.3 索引(我用我的简单 Lucene 4.3.1 应用程序创建),但它一直给我:

该位置的目录无效,请查看控制台以获取更多信息。最后一个异常:java.lang.IllegalArgumentException:不存在名称为“Lucene42”的 org.apache.lucene.codecs.Codec 类型的 SPI 类。你需要在你的classpath中添加对应的支持这个SPI的JAR文件。当前classpath支持如下名称:[Lucene40, Lucene3x, SimpleText, Appending]

美好的。所以我将代码中使用的 Lucene 版本设置为Version.LUCENE_43. 我也尝试过早期的 3.x 版本。我在这里做错了什么?还有其他可以使用的 Lucene 索引浏览器吗?

我正在运行 Lukejava -jar lukeall-4.0.0-ALPHA.jar并告诉它打开我的应用程序正在生成的索引。

更新:

  • 我尝试将我的 CLASSPATH 设置为包含 lucene-core:4.3.1:jar。那没有帮助。

  • 卢克抛出这个错误:

    java.lang.IllegalArgumentException:不存在名为 'Lucene42' 的 org.apache.lucene.codecs.Codec 类型的 SPI 类。您需要将支持此 SPI 的相应 JAR 文件添加到您的类路径中。当前的类路径支持以下名称: [Lucene40, Lucene3x, SimpleText, Appending] java.lang.IllegalArgumentException: A SPI class of type org.apache.lucene.codecs .名称为“Lucene42”的编解码器不存在。你需要在你的classpath中添加对应的支持这个SPI的JAR文件。当前classpath支持如下名称:[Lucene40, Lucene3x, SimpleText, Appending]

非常感谢!

4

3 回答 3

11

经过长时间的搜索,我被指示在此处查找最新的 Luke 版本:Opengrok,您可以在其中找到该站点上可用的 4.0.0-alpha 之后的 Luke 版本。Luke 4.4 应该能够阅读当前的索引格式,但有一些注意事项。

于 2013-08-22T18:42:29.860 回答
8

有人花时间为 lucene-4.3.1 修复卢克。

https://github.com/tarzanek/luke

于 2013-07-19T20:51:27.177 回答
3

github上有一个较新的存储库,可以下载版本:

https://github.com/DmitryKey/luke/releases

于 2014-07-18T09:21:50.947 回答