node.js - 如何将 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'
})
我将不胜感激任何帮助前进。
解决方案
mongoolia 插件的目标是使您现有的 mongo 数据库与 Algolia 索引保持同步。您将始终将 mongo 数据库作为数据的真实来源,但其内容也将被复制到 Algolia 并用于前端搜索。每当在 mongo 中添加/编辑/删除对象时,它也会在 Algolia 中添加/编辑/删除。
一旦你有了这个部分(你可以在你的 Algolia 仪表板 UI 中检查你的所有记录是否都正确),你必须创建(或替换)你的前端搜索。
Algolia 的工作方式是让您的用户在您的网站上进行的搜索直接针对 Algolia API,而不是针对您的后端。Algolia 还提供了一个名为InstantSearch的 JavaScript 库,它允许您使用预定义的小部件(想想乐高积木)构建您的 UI。您将有一个用于搜索栏,另一个用于结果、分页、过滤器等。它们都将保持同步,并且都针对您的 Algolia 应用程序?
简而言之,mongoolia 是实现的第一部分(索引数据),然后您需要使用 InstantSearch 进行第二部分(搜索数据)。
希望有帮助
推荐阅读
- html - html5中选择选项元素文本的字体大小
- reactjs - “number[]”类型的参数不能分配给“SetStateAction”类型的参数
' - python - 忽略要在 pytest 中测试的函数
- ios - xcode12 问题:ld :为 iOS 模拟器构建,但链接到为 iOS 构建的目标文件,架构 arm64 的文件 'xxx.framework/xxx'
- android - 在 Android 中设置相机焦距
- fortran - 如何在 OpenVMS Fortran 中获取命令行参数?
- python - 正则表达式程序从包含 2 个数字且它们不相邻的句子中打印单词
- javascript - REACT : 当子组件出错时隐藏父组件
- azure-active-directory - 在 AAD 组中添加外部用户以访问 Power BI 工作区
- twitter-bootstrap - 容器没有相同的边距