【发布时间】:2013-07-02 10:32:12
【问题描述】:
我在我的应用程序中使用 Lucene 4 并且不想更改它。我正在尝试集成将 Lucene 3.5 捆绑为 IndexProvider 实现的 Neo4J,neo4j-lucene-index。
不幸的是,neo4j-lucene-index 不起作用,并且排除了该依赖项后,应用程序在启动时会无限期挂起。我已经尝试过 neo4j-lucene4-index 但这似乎并没有很好地维护,需要进行相当大的更新才能与 Neo4J 1.9.1 一起使用。这些变化超出了我对 Neo4J 内部结构的理解。
但是,我可以看到 IndexProviders 是可插拔的,所以我希望有一个现有的 Lucene 替代品 - 但我目前找不到它。谁能指出我正确的方向?
Lucene 4 推出这么久,Neo4J 还不支持它,这似乎很奇怪。我错过了什么吗?
目前,我的 Neo4J 配置的 POM 如下所示:
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-neo4j</artifactId>
<version>2.2.1.RELEASE</version>
<exclusions>
<exclusion>
<artifactId>neo4j</artifactId>
<groupId>org.neo4j</groupId>
</exclusion>
<exclusion>
<artifactId>neo4j-cypher</artifactId>
<groupId>org.neo4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-kernel</artifactId>
<version>1.9.1</version>
<exclusion>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-lucene-index</artifactId>
</exclusion>
</dependency>
<dependency>
<groupId>org.neo4j.app</groupId>
<artifactId>neo4j-server</artifactId>
<version>1.9.1</version>
<exclusions>
<exclusion>
<artifactId>neo4j</artifactId>
<groupId>org.neo4j</groupId>
</exclusion>
<exclusion>
<artifactId>neo4j-cypher</artifactId>
<groupId>org.neo4j</groupId>
</exclusion>
<exclusion>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-lucene-index</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- A temporary dependency until Neo4J builds in support for Lucene 4.
Looks like they're planning to incorporate this project anyway This project
is available on GitHub, and needs to be built with: mvn license:format mvn
install to install into your local repo.
<dependency>
<groupId>com.keatext</groupId>
<artifactId>neo4j-lucene4-index</artifactId>
<version>1.9.M01-SNAPSHOT</version>
</dependency>-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.0.1.Final</version>
</dependency>
【问题讨论】:
-
我们做了一些测试,Lucene4 在我们的用例中比 3.6 慢得多,这就是为什么它没有被优先考虑。
-
谢谢迈克尔,这很有趣。对于我的用例,我想将它与我现有的 MongoDB 数据配对,以遍历相关数据。我们目前正在使用 Lucene 4,但我想我应该看看降级到 3.6 对我的内部搜索要求的影响。我有一些性能测试脚本可以在前后应用来比较