在网站开发中,很重要的一个功能那就是搜索了。对于一个访问量很大的网站来说,对于所有的搜索请求直接读取数据库来完成将会造成非常大的负荷。两种办法可以有效地解决以上问题,第一种就是缓存,memcached
,redis
等都很有名气,在这里就不予赘述了。
那么第二种就是使用云搜索。什么是云搜索?类似于CDN
,我们把数据库内可以用于被搜索的信息推送至云端,然后用户在我们的网站进行搜索时,实际上搜索请求并没有发送给我们的服务器,而是被传递到云服务器进行搜索,并返回相应的结果。这样的解决方案可以大大降低网站的延迟,并提高应用的性能。现在比较有名的Algolia
就提供了云搜索的服务。
具体办法是我们将数据库的信息以JSON
的格式上传到Algolia
服务器,然后通过相应的API进行搜索。搜索既可以是实时的(采用Javascript
调用Algolia API
),也可以是后端的(使用PHP
调用Algolia API
)。
图片中可以看到,我使用了javascript
实现了前端实时搜索,这样不仅高效,而且对用户友好。Algolia
的免费许可允许上传10,000
条JSON
数据,每月允许100,000
次操作(包括上传和搜索),还是相当不错的。今天我们将要使用Javascript来实现Algolia
的实时搜索功能,框架我选用的是最新的jQuery
。好了,那我们这就开始。首先前往Algolia
官网:>