ITPub博客

首页 > 数据库 > > Algolia使用教程 , 超详细傻子看都会

Algolia使用教程 , 超详细傻子看都会

作者:LCR_ 时间:2022-04-27 15:27:10 0 删除 编辑

框架描述 

  发现网上Algolia这块的资料较少,就花了点时间从官网上整理了下,总结了几项常用的功能用法。 

  现在比较有名的Algolia提供了云搜索的服务。具体办法是我们将数据库的信息以JSON的格式上传到Algolia服务器,然后通过相应的API进行搜索,搜索可以是前端也可以是后端。这里描述的JavaScript的用法,不仅高效,而且对用户友好。Algolia的免费许可允许上传10,000条JSON数据,每月允许100,000次操作(包括上传和搜索),还是相当不错的。

官网

准备工作

前往官网注册完账号之后,我们就可以登录dashboard控制和管理我们的数据了。

在上图中左边第三个钥匙按钮中,可以找到我们需要的API Keys

我们需要的是Application ID,Search-Only API Key和Admin API Key。

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

我们还需要创建索引库,用来存放我们的Json数据

点击Create Index 创建一个索引库,到这里准备工作就完成了

CURD操作

Add Objects

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//algoliasearch的一次个参数传入账号提供的Application ID , 第二个传入Admin API Key
var client = algoliasearch('Application ID', 'Admin API Key');
//初始化一个索引库
var index = client.initIndex('index Name');
 
//声明Json数组
var objects = [{
  firstname: 'Jimmie',
  lastname: 'Barninger'
}, {
  firstname: 'Warren',
  lastname: 'Speach'
}];
 
 
//add objects
index.addObjects(objects, function(err, content) {
  if (err) {
    console.error(err);
  }
});

  

响应的Json数据

复制代码
{
  "objectIDs": [
    "myObjectID1",
    "myObjectID2"
  ],
  "taskID": 678,
}
复制代码

 

Update Objects

复制代码
//准备的Json数据    
var objects = [{
      firstname: 'Warren',
      lastname: 'XX',
      objectID: 'objectID'
    }];

    //algoliasearch的一次个参数传入账号提供的Application ID , 第二个传入Admin API Key
    var client = algoliasearch('Application ID', 'Admin API Key');
    //初始化一个索引库
    var index = client.initIndex('index Name');
    index.partialUpdateObjects(objects, function(err, content) {
      if (err) throw err;
      alert("success!");
      console.log(content);
    });
复制代码

 

Delete Objects

复制代码
    //algoliasearch的一次个参数传入账号提供的Application ID , 第二个传入Admin API Key
    var client = algoliasearch('Application ID', 'Admin API Key');
    //初始化一个索引库
    var index = client.initIndex('index Name');
    index.deleteObjects(['Object-Id'], function(err, content) {
      if (err) throw err;

      console.log(content);
    });
复制代码

 

Search Index

复制代码
    //algoliasearch的一次个参数传入账号提供的Application ID , 第二个传入Search-Only API Key
    var client = algoliasearch('Application ID', 'Search-Only API Key');
    //初始化一个索引库
    var index = client.initIndex('index Name');
    index.search({
      query: 'XX'
      },
      function searchDone(err, content) {
        if (err) throw err;

        console.log(content.hits);
      }
    );
复制代码

 

响应的Json数据

复制代码
{
  "hits": [
    {
      "firstname": "Jimmie",
      "lastname": "Barninger",
      "objectID": "433",
      "_highlightResult": {
        "firstname": {
          "value": "<em>Jimmie</em>",
          "matchLevel": "partial"
        },
        "lastname": {
          "value": "Barninger",
          "matchLevel": "none"
        },
        "company": {
          "value": "California <em>Paint</em> & Wlpaper Str",
          "matchLevel": "partial"
        }
      }
    }
  ],
  "page": 0,
  "nbHits": 1,
  "nbPages": 1,
  "hitsPerPage": 20,
  "processingTimeMS": 1,
  "query": "jimmie paint",
  "params": "query=jimmie+paint&attributesToRetrieve=firstname,lastname&hitsPerPage=50"
}
复制代码

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70000523/viewspace-3154475/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2022-02-22

  • 博文量
    1402
  • 访问量
    15033