java - 扩展 JackRabbit 还是从 Lucene 构建?

标签 java grails groovy lucene jackrabbit

我一直在研究一个网站的想法,一般概念是文档的全文搜索,还允许根据这些评级进行用户评级,我想提高项目在 Lucene 索引中的值(value)。但我正在尝试寻找是否应该扩展 JackRabbit 还是仅从 Lucene 基础构建。有没有什么好的方法可以以这种方式扩展 JackRabbit 并影响索引,或者最好直接在 Lucene 上工作?

无论哪种方式,我都强烈倾向于在 grails 上使用 groovy 和可搜索插件,或者直接使用 JackRabbit,有什么主要原因让我应该坚持使用 Java 吗?

澄清:

我想根据一个项目的平均用户评分来提升一个项目,JackRabbit 是否足够开放或可扩展性足够,我可以捕获用户评分,然后影响 JackRabbit 内的索引,或者它是否远离核心我应该从 Lucene 构建 JackRabbit 的吗?

最佳答案

我建议使用 JCR,其背后有 Jackrabbit 的实现。 JCR 允许您区分存储内容和存储方式。

通过留在 JCR 框架内,您应该能够轻松地在 JCR 实现之间切换。 (有好几个,不仅仅是 Apache 的。)即使在 Jackrabbit 中,也有许多持久性管理器,而不仅仅是 Lucene。当您想要在存储空间和性能之间进行权衡时,这种灵活性非常有用。

JCR 已包含全文搜索和维护用户评级的功能。它应该非常适合您的项目。

关于java - 扩展 JackRabbit 还是从 Lucene 构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2137759/

相关文章:

java - 如何对依赖于其他 Util 类方法的 Util 类进行单元测试?

Grails:如果更改影响域表的架构,如何更改插件域类?

javascript - 我在 jsp 中有一个表,有 5 行和 3 列,我想在 servlet 中打印它,我该怎么做?

java - 使用正则表达式获得最佳小组比赛

c# - 如何使用curl对Web服务进行身份验证?

java - 如何使用 Spring Boot 应用程序和 spock 测试在运行时更改服务器端口

java - 从持久的 Groovy 代码返回值而不使用 java.io.File

grails - 依赖注入(inject) Grails Webflow

java - 软件实践 - 可以使用输出参数使方法多态吗

grails - grails可搜索-避免为嵌入式实体建立索引