2

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

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

我还发现了这个 stackoverflow 问题,但也遇到了一些问题。首先是我不是只搜索一个领域,而是许多领域。另外,我担心纯粹在 SQL 中完成的搜索在我的数据库上可能太慢,我的数据库有望存储数十万条记录,如果不是更多的话。

如果有人对我提到的任何软件或我没有提到的任何软件有任何意见,欢迎所有想法。如果这有什么不同,我将使用 java 作为后端。谢谢。

4

2 回答 2

3

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

听起来 Solr 可以满足您的要求。如果您使用他们在下载中提供的示例设置,那么入门就没什么了。您需要做的就是为您的数据配置 schema.xml。

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

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

于 2009-12-23T22:28:56.370 回答
2

也只有普通的 Lucene 和 Xapian —— 后者有 PHP 绑定。

于 2009-12-24T00:05:47.270 回答