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

2023-07-12,,

框架描述 


 

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

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

官网

准备工作

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

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

我们需要的是Application IDSearch-Only API KeyAdmin API Key

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

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

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

CURD操作

Add Objects

	//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"
}

更新日志

2019-02-28 v1.0

Algolia使用教程 , 超详细傻子都会的相关教程结束。

《Algolia使用教程 , 超详细傻子看都会.doc》

下载本文的Word格式文档,以方便收藏与打印。