如何将Algolia与猫鼬Node js一起使用?



我想将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'
}) 

我将不胜感激任何帮助。

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

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

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

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

希望有帮助

为了使搜索功能正常工作,您必须实现一个函数来利用Algolia的默认搜索方法。

const client =algoliasearch('J6WRJSQ5IG','a43de33c567ad70d2a2edac8f8014176');
const index = client.initIndex('indexName');
// only query string
index.search('query string').then(({ hits }) => {
console.log(hits);
});
// with params
index.search('query string', {
attributesToRetrieve: ['firstname', 'lastname'],
hitsPerPage: 50,
}).then(({ hits }) => {
console.log(hits);
});

如官方文件中所述

最新更新