美文网首页
Algolia Search - 使用Javascript实现前

Algolia Search - 使用Javascript实现前

作者: 如果俞天阳会飞 | 来源:发表于2021-12-30 17:21 被阅读0次

    在网站开发中,很重要的一个功能那就是搜索了。对于一个访问量很大的网站来说,对于所有的搜索请求直接读取数据库来完成将会造成非常大的负荷。两种办法可以有效地解决以上问题,第一种就是缓存,memcached,redis等都很有名气,在这里就不予赘述了。

    那么第二种就是使用云搜索。什么是云搜索?类似于CDN,我们把数据库内可以用于被搜索的信息推送至云端,然后用户在我们的网站进行搜索时,实际上搜索请求并没有发送给我们的服务器,而是被传递到云服务器进行搜索,并返回相应的结果。这样的解决方案可以大大降低网站的延迟,并提高应用的性能。现在比较有名的Algolia就提供了云搜索的服务。

    具体办法是我们将数据库的信息以JSON的格式上传到Algolia服务器,然后通过相应的API进行搜索。搜索既可以是实时的(采用Javascript调用Algolia API),也可以是后端的(使用PHP调用Algolia API)。

    注册 algolia 官网

    注册成功后 在设置里面找到我们需要的API Keys


    image.png

    我们需要的是Application ID,Search-Only API Key和 Admin API Key。注意:Admin API KEY一定不要放在js里,因为这个key是用来上传,删除和操作我们的云端数据的,所以一定要保管好。

    添加数据

    const algoliasearch = require('algoliasearch');
    // 输入自己的  application ID 和 admin API key
    const client = algoliasearch('Application ID', 'Admin API Key');
    // 名称为yu_ui
    const index = client.initIndex('yu_ui');
    // json数据
    const json = require('./page');
    
    // 添加到云服务器
    index
      .addObjects(json)
      .then(() => {
        console.log('success');
      })
      .catch(err => {
        console.log(err);
      });
    
    

    查询数据

    const algoliasearch = require('algoliasearch');
    // 输入自己的  application ID 和 Search-Only API Key
    const client = algoliasearch('Application ID', 'Search-Only API Key');
    const index = client.initIndex('yu_ui');
    index
      .search({
        query: '查询的内容'
      })
      .then(({ hits }) => {
        console.log(hits);
      })
      .catch(err => {
        console.log(err);
      });
    
    

    相关文章

      网友评论

          本文标题:Algolia Search - 使用Javascript实现前

          本文链接:https://www.haomeiwen.com/subject/bnaiqrtx.html