Algolia使用教程 , 超詳細傻子看都會


框架描述 


 

  發現網上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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM