java - 我应该只将 Lucene 用于搜索吗?

标签 java mysql database indexing lucene

我们的网站需要向全世界提供数据。这是我们存储的开源数据,我们希望将其公开。大约有 200 万条记录。

我们已经使用 Lucene 实现了对这些记录的搜索,这很好,但是我们希望显示单个记录(比如用户在搜索完成后点击它)并提供该记录的更多详细信息.

然而,这些更详细的信息并没有直接存储在索引中……存在类似多对多的关系,我们使用我们的关系数据库 (MySQL) 来提供此信息。

因此,就像一条记录属于一个类别一样,我们希望用户单击该类别并显示该类别中的其余记录(更多这样的关联)。

我的问题是,我们是否也应该使用 Lucene 来存储此类信息并通过简单的搜索 (category:apples) 检索它,或者 MySQL 是否应该继续执行此合乎逻辑的工作?我应该只在搜索部分使用 Lucene 吗?

编辑

我想指出的是,我们所有的记录都是静态的……大约每周对这些数据进行一次更改。

最佳答案

Lucene 的优势在于可以快速构建一组文档的索引并允许您在其中进行搜索。如果这个“详细信息”不需要被索引或搜索过来,那么就不要将它存储在 Lucene 中。

Lucene 不是数据库,它是索引。

关于java - 我应该只将 Lucene 用于搜索吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4153213/

相关文章:

java - 在 mapreduce 作业中对单独的行应用 wordcount

java - 检查对象是否仍绑定(bind)到 NameService (tnameserv)

php - mysql 对发送和接收的消息进行排序

php - mysql_result 已定义,但 mysql_free_result 警告它需要资源

MySQL:何时使用案例对共享和不共享的值求和/平均值?

java - H2数据库存储机制

java - 问题快捷方式 JNLP

java - 从当前 JFrame 打开新的 JFrame

mysql - 规范化和唯一 ID

mysql - 无法从工作台连接到数据库 MySQL