首页 > 解决方案 > 如何将 Algolia 与猫鼬节点 js 一起使用?

问题描述

我想将 Algolia 与 node.js mongoose 集成,但目前我坚持下一步该做什么。

我正在关注这个包上的文档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'
}) 

我将不胜感激任何帮助前进。

标签: node.jsmongodbmongoosealgolia

解决方案


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

一旦你有了这个部分(你可以在你的 Algolia 仪表板 UI 中检查你的所有记录是否都正确),你必须创建(或替换)你的前端搜索。

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

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

希望有帮助


推荐阅读