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

synchronzied 2019-03-01 02:32:00 阅读数:165 评论数:0 收藏数:0

框架描述 


 

  发现网上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

版权声明:本文为[synchronzied]原创文章
转载请带上:http://copyfuture.com/blogs-details/253da4d48d2106b603470f2c7e192f7e
或:https://www.cnblogs.com/tmlh/p/10452235.html


  1. 微博财报电话会议实录:今年会提高广告投资转化率
  2. 里贝里黯然结束拜仁欧冠之旅,“罗贝里”时代终成历史
  3. 境外自驾-6月26日意大利瑞士阿尔卑斯温泉滑雪10天自驾之旅
  4. 全国政协委员罗永章:尽快将防癌体检纳入医保
  5. 游戏音乐外包必须要明白的那些事儿—游戏音乐制作流程
  6. 谷歌一名顶级人工智能专家加入苹果公司
  7. 曾鸣《智能商业》- 读书笔记
  8. win10家庭版设置远程桌面连接
  9. 以宽容之心待人,以义气之心处友,以慈悲之心立世,活真实的自己
  10. 大部分看不了这么悲伤的故事,虽然已经很美化了
  11. 刚刚,数学界“诺奖”Abel Prize迎来首位女性得主
  12. 数据库中悲观锁与乐观锁的总结实践
  13. NoSql数据库使用半年后在设计上面的一些心得
  14. 刘备临死前特意提到一人,可惜诸葛亮不听,丧失了一统天下的机会
  15. 【Android】10.0 UI开发——如何编写程序界面、常见控件的使用
  16. 三大车企联合进军网约车行业,2个月后将在南京上线
  17. 不要让郭台铭跑了
  18. 一支所向无敌的球队为何会变得四分五裂
  19. vue实现菜单权限控制
  20. 文艺到爆炸的句子,第一次读到便为之震撼
  21. Hybrid小程序混合开发之路 - 数据交互
  22. Git教程
  23. 起名取名系列:《红楼梦》中人名地名的谐音隐义
  24. 乔欣风波后杨洋首次公开亮相 丝毫不受绯闻影响 帅气寸头魅力十足
  25. 只要做好3件事,宝宝黄疸7天顺利消退
  26. 痛定思痛的苹果,2019会好吗?
  27. 杜绝“萝卜章”?法大大完成3.98亿元C轮融资 电子签名领域狂吸金 马太效应初现
  28. 甲骨文状告亚马逊竞争美国防部合同“作弊” 招募前雇员竞标合同
  29. “三缸”和“四缸”的区别在哪里?这差距有点大,后悔买错车
  30. 英国史上超长待机王子,做了60年王储,仅次于当今查尔斯王子
  31. 早上喝上一碗,比只喝牛奶要补钙,自己动手给孩子做早餐吧!
  32. 中国研发新型膏体冲压发动机 或已装备霹雳12导弹
  33. JDG不敌RNG,Imp赛后更新微博:我没有打好,对不起
  34. 98年混血萌妹子太养眼,凭着一张让人过目不忘的脸走红ins!
  35. 最作死的游戏商!发公告自曝宣传图都是骗人的,充钱就能吊打别人
  36. 日本程序员节假日全员加班?都是“令和”惹的祸
  37. 青春喂了狗!胜利郑俊英丑闻发酵牵出曾经追过的大势男团成员
  38. 35岁升正厅的重庆官员,再有新职
  39. 【澳洲技术移民】飞出国带你全面解读南澳州担保
  40. 小记Java时间工具类
  41. 凯迪拉克与别克共享动力系统 坚持传统搭配 是什么给了通用勇气
  42. 使用SSH反向隧道进行内网穿透——持续更新中
  43. 拼多多发布财报后股价一路下跌,最大跌幅达15.45%,市值跌破300亿美元
  44. 光速这么快,为什么光撞在身上人却毫无感觉?
  45. 开普勒十年前首次发现的系外行星被“验明身份”
  46. 开发规约(一)接口统一返回值格式
  47. 海量用户积分排名算法探讨
  48. 三步法搞定CTF中的SQL注入题型
  49. MYSQL数据库
  50. 为杨迪自立门户创办《动物情报局》,背后金主令人咋舌!
  51. Uber大曝光:持有滴滴15.4%股权 盈利也靠滴滴
  52. “中国半导体之父”张汝京:一切都可以从头再来
  53. 世界最爱存钱的国家:总储蓄高达38万亿, 比美国还高16万亿元
  54. [I/O]javaI/O工作机制
  55. 陈冠希的第一部电视剧,这恐怕是史上最豪华阵容
  56. 国内第一高楼:高达632米耗时8年才建成,日参观游客量达到三万
  57. 为何哈登5犯保罗11中2替补才14分火箭还能赢?一点已成最大杀招
  58. 【算法大杂烩】常见算法的归类和总结——非对称加密算法
  59. 首篇:关于 996的一些看法
  60. 从阿里云的新边界,看到阿里巴巴的新模样
  61. 为什么国际金融界把台湾看作发展中地区,而不是发达地区?
  62. 任天堂Switch中文版系统上手,这些地方能显示中文了
  63. 韩国批捕两名三星高管 涉嫌会计欺诈
  64. 台积电招人:年薪140万台币!要求还不高
  65. Debian项目领导人职位已有三位侯选者
  66. 你有所不知的