【发布时间】:2012-12-20 06:47:24
【问题描述】:
需要一些建议....
我看到很多关于执行 AJAX 实时搜索的不同方法的讨论,其中自动完成功能用于建议搜索词。就像在 Google 或 YouTube 上一样。
一些教程建议使用 AJAX 从 XML 文件中获取结果。有人建议直接查询数据库。关于采取哪种方法似乎有很多相互矛盾的建议 - 但对于每种方法的优缺点没有明确的共识。
假设我有一个结构表:
ID TITLE AUTHOR LINK
我想要一个自动完成的搜索框,以提供有关标题的建议。该表很大 - 100000+ 行。
什么是最好的方法:
在每次击键时直接查询 DB(可能设置一个函数来限制每个用户每秒的 # 个服务器请求)。
查询 XML 文件。这更有效吗?如果我直接查询数据库,是否会面临服务器过载的风险?
还有别的吗?
有人能总结一下需要考虑的事情吗?如果您的网站上有 AJAX 实时搜索,您会采用什么方法?
【问题讨论】:
-
我可能会使用 Sphinx,因为它真的很快。
-
查询正确索引的数据库有多快?答:非常快。读取整个 XML 文件并手动搜索您要查找的内容有多快?每一次,一次又一次,阅读整个文件?答:不是很。