我应该只使用Lucene进行搜索吗?

时间:2010-11-11 10:02:15

标签: java mysql database indexing lucene

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

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

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

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

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

修改

我想指出,我们所有的记录都非常静态......每周左右对这些数据进行一次更改。

2 个答案:

答案 0 :(得分:1)

Lucene的优势在于快速构建一组文档的索引并允许您搜索它们。如果不需要索引或搜索此“详细信息”,则不要将其存储在Lucene中。

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

答案 1 :(得分:0)

你想用Lucene存储数据吗?我没关系,我使用了Solr http://lucene.apache.org/solr/
它建立在Lucene之上,作为搜索引擎工作,并存储更多数据,这些数据与可能用于前端显示的记录有关。它为我提供了500k记录,2mil记录我认为应该没问题。