在php中慢慢搜索

时间:2012-05-09 04:48:35

标签: php mysql search full-text-search

我是php和mysql的新手。现在我遇到一个问题是我需要在大型数据库中搜索数据,但搜索单词需要3分钟以上,有时浏览器显示超时。我使用技术FULLTEXT进行搜索,所以任何解决方案都可以减少搜索时间吗?

3 个答案:

答案 0 :(得分:1)

为您希望随后创建的表字段创建索引,即使需要一些内存空间查询结果也应该在更短的时间内返回最佳结果。

答案 1 :(得分:1)

这不是直接回答你的问题,而是一个建议:

我在全文搜索时遇到了同样的问题,所以我切换到了SOLR:

http://lucene.apache.org/solr/

这是一个基于用Java编写的Lucene库的搜索服务器。它被一些规模最大的网站使用:

http://wiki.apache.org/solr/PublicServers

因此速度和可扩展性不是问题。但是,您无需了解Java即可实现它。它提供了一个REST接口,您可以查询,甚至可以选择以PHP数组格式返回搜索结果。

这是官方教程:

https://builds.apache.org/job/Solr-trunk/javadoc/doc-files/tutorial.html

SOLR搜索索引文件,因此您需要将数据库内容放入xml或json文件中。您可以使用数据导入处理程序扩展名:

http://wiki.apache.org/solr/DataImportHandler

要查询REST接口,您只需使用get_file_contents() php函数或CURL即可。或者SOLR的PHP sdk:

http://wiki.apache.org/solr/SolPHP

答案 2 :(得分:0)

取决于您的数据库有多大。为您正在搜索的字段添加索引是第一件事。

我遇到了同样的问题,为该字段添加索引效果很好。