【发布时间】:2013-12-03 12:45:55
【问题描述】:
我有一个应用程序目前与使用 Lucene 4.4 的 Titan 图数据库一起工作。用于索引。在同一个应用程序中,我还想使用 Neo4j 图形数据库,不幸的是它使用了 Lucene 3.6。出于这个原因,我得到编译错误。这个问题有解决办法吗?
【问题讨论】:
我有一个应用程序目前与使用 Lucene 4.4 的 Titan 图数据库一起工作。用于索引。在同一个应用程序中,我还想使用 Neo4j 图形数据库,不幸的是它使用了 Lucene 3.6。出于这个原因,我得到编译错误。这个问题有解决办法吗?
【问题讨论】:
更新:如果您使用的是 Maven,则可以将 Lucene 依赖项之一放在其自己的项目中,并使用 Maven Shade plugin 根据 Neo4j 重命名项目字节码中的 Lucene 引用。在我的情况下,这需要将 Neo4j 依赖项移动到一个单独的项目中,但效果很好(尤其是 class relocation feature)。
原帖: Neo4j 似乎不支持 Lucene 4,也不打算支持。这里有几个信息链接:
Alternative IndexProvider for Neo4J 1.9.1
https://github.com/neo4j/neo4j/issues/6
这是 github 存储库,其中有人为 Neo4j 编写了一个与 Lucene 4 兼容的索引提供程序。我不知道它的效果如何,因为我还没有绝望到尝试它(还),但它似乎成为那里唯一的东西。
【讨论】: