首页 > 解决方案 > 关于使用 Mongoose/Elasticsearch 自动完成搜索栏的指南

问题描述

我正在建立一个工作委员会网站(带有 NextJS 的 MERN 堆栈),我需要一些关于以下事项的指导:

1.我希望实现搜索自动完成(在您键入时显示建议)并且我知道如何使用 Mongoose 来实现它。但是,假设您有超过 10.000 名用户在逐字母输入单词时不断调用后端:

2.看看Indeed 或Talent 等网站中的Network 标签:你基本上是在搜索栏中的每一个键点击时调用API,他们最终每次都返回相同的建议,总是。因此,实现这样一个系统的意义何在,当您拥有可让您存储关键字的数组以避免在最小的事情上调用 API 时?我简直不明白。

3.您如何实际使用自动完成数据填充数据库?它是基于我数据库中表单中的字段还是基于“我认为人们会寻找什么”?听起来像一个愚蠢的问题,我知道,但如果我必须手动将每个关键字添加到数据库中,那么我最好创建一个数组并在客户端实现自动完成,不是吗?

4.假设MongoDB对于这样的任务性能不够(第一点),我的第二个选择是ElasticSearch,但我对这个服务的担忧是:

5.你会怎么做?

标签: reactjsmongodbelasticsearchmongooseautocomplete

解决方案


推荐阅读