如何在猫鼬节点js中使用Algolia?

时间:2018-06-23 11:20:58

标签: node.js mongodb mongoose algolia

我想将Algolia与node.js猫鼬集成在一起,但目前仍在下一步。

我正在遵循此软件包https://github.com/algolia/mongoolia上的文档,但是目前对下一步如何查询数据库和使搜索工作一无所知。

到目前为止,这是我的代码:

var mongoose = require('mongoose');
const mongoolia = require('mongoolia').default;
var algoliasearch = require('algoliasearch');

//meme schema
var meme = require('../app/model/meme');

const TagSchema = new mongoose.Schema({
  tagarray: { type: String, required: true, algoliaIndex: true },
});

TagSchema.plugin(mongoolia, {
  appId: 'xx',
  apiKey: 'xx',
  indexName: 'test1'
}) 

我将不胜感激前进。

1 个答案:

答案 0 :(得分:0)

mongoolia插件的目标是使您现有的mongo数据库与Algolia索引保持同步。您将始终将mongo数据库保留为数据的真实来源,但是它的内容也将被复制到Algolia中,并用于前端搜索。每当在mongo中添加/编辑/删除对象时,也会在Algolia中添加/编辑/删除对象。

安装好此部分后(您可以在Algolia仪表板UI中检查所有记录是否正确存在),则必须创建(或替换)前端搜索。

Algolia的工作方式是让您的用户在您的网站上进行的搜索直接针对Algolia API,而不是针对您的后端。 Algolia还提供了一个名为InstantSearch的JavaScript库,该库允许您使用预定义的小部件(例如lego积木)来构建UI。您将在搜索栏中找到一个,在结果,分页,过滤器等中找到一个。它们将保持同步,并且都针对您的Algolia应用程序?

简而言之,mongoolia是实现的第一部分(为数据建立索引),然后需要为第二部分使用InstantSearch(搜索数据)。

希望有帮助