Java 通过Hibernate搜索浏览Lucene索引
有没有办法浏览/浏览Hibernate搜索创建的Lucene索引?我知道Lucene包中嵌入了Luke,但这样一个糟糕的软件无法打开我的索引。以下是我所拥有的:Java 通过Hibernate搜索浏览Lucene索引,java,spring,spring-boot,hibernate,
elasticsearch,Java,Spring,Spring Boot,Hibernate,
elasticsearch,有没有办法浏览/浏览Hibernate搜索创建的Lucene索引?我知道Lucene包中嵌入了Luke,但这样一个糟糕的软件无法打开我的索引。以下是我所拥有的: 弹簧靴2.4.4 Hibernate Core 5.4.30.Final Hibernate搜索5.11.8.Final Lucene 8.8.1 Java 1.8 视窗10 任何打开我的索引的尝试最终都会出现一个异常,比如“未知错误”或胡说八道。另外,我不知道我有什么目录实现,因为我使用Hibernate搜索而没有配置目录实现。
- 弹簧靴2.4.4
- Hibernate Core 5.4.30.Final
- Hibernate搜索5.11.8.Final
- Lucene 8.8.1
- Java 1.8
- 视窗10
另外,索引的大小只有500 KB,我愿意与任何可以尝试的人分享。好吧,神奇的答案是在每次尝试打开目录失败后重新启动Luke。一旦出现异常,请关闭Luke并重新启动它。Hibernate搜索倾向于在封面下使用Lucene的旧版本。根据,y我们的版本使用的是Lucene 5.5,而不是Lucene 8。如果您使用的是Lucene 8捆绑的Luke版本,那么,是的,我希望它无法打开使用Lucene 5.5构建的索引。您能否确认您实际使用的是Lucene 8.8.1(如问题中所列)?如果这是您的问题,您可以找到Luke的旧版本。(较新的版本现在与Lucene捆绑在一起,但过去没有。)@andrewjames谢谢!但我不希望失败,但我会支持更多它唯一使用的东西的一个版本。我的意思是,支持当前旧版本与当前版本并行会有多困难?尽管如此,我会尝试使用旧版本,我希望至少在同一版本中支持minior版本build@andrewj艾姆斯只是尝试了一下,当然什么也没发生。尝试了所有目录下的所有选项,我得到的唯一一条错误消息。错误消息的内容将出现在主帖子中。您使用的是Lucene的哪个确切版本?可能是5.5.x,其中x不是0。在我的例子中,我得到的是与Hibernate 5.11.8.Als捆绑在一起的版本5.5.5o、 请参见:。这建议您尝试使用Lucene 5.5.5索引的Luke 6.6.0。 C:\...\luke-5.5.0>java -jar .\target\luke-with-deps.jar WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by org.apache.lucene.store.MMapDirectory$1 (file:/C:/.../luke-5.5.0/target/luke-with-deps.jar) to method java.nio.DirectByteBuffer.cleaner() WARNING: Please consider reporting this to the maintainers of org.apache.lucene.store.MMapDirectory$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release ERROR: java.lang.Exception: there is no valid Lucene index in this directory.