在mySQL数据库上创建搜索

时间:2009-12-23 22:18:32

标签: mysql search lucene sphinx

我正在尝试通过mySQL数据库创建对我的网站的搜索。我开始使用Sphinx,但在得知索引没有实时更新时犹豫不决。我确实看到他们有almost real time update,但我担心这不适合我的系统,因为新内容会逐分钟地添加到数据库中。这个新内容需要立即添加,每次更新后重新编制索引都很奇怪。

我目前正在研究基于Lucene构建的Solr,但这似乎也不符合我的需求,因为它更像是基于文件的搜索而不是数据库搜索。配置相对简单的搜索看起来也很糟糕。

我也找到了this stackoverflow question,但也遇到了一些问题。首先,我不只搜索一个领域,而是搜索很多领域。此外,我担心纯粹在SQL中进行的搜索可能对我的数据库来说太慢了,这有望存储在成千上万的记录中,如果不是更多的话。

如果有人对我提到的任何软件或任何我没有的软件有任何意见,欢迎提出所有想法。我使用java作为后端,如果这有任何区别。感谢。

2 个答案:

答案 0 :(得分:3)

数据库只是文件的核心。基于文件的搜索有什么问题?

听起来Solr符合您的要求。如果您使用他们在下载时提供的示例设置,那么入门并不多。您需要做的就是为数据配置schema.xml。

要获得实时搜索,您需要实时将文档添加到solr索引中。这是一个简单的发布到Solr的servlet之一,或者可以通过SolrJ(他们的Java客户端)完成。

如果您要搜索多个列,我认为Solr比数据库更高效,更易于使用。它还将提供更丰富的功能集,如刻面和词干。

答案 1 :(得分:2)

还有简单的Lucene和Xapian ---后者有PHP绑定。