【发布时间】:2021-06-20 20:22:39
【问题描述】:
基本上我想做的是以下。使用 React 和 Express 我创建了一个网页,其中专门有一个部分负责搜索用户。 问题是请求中并非总是存在所有输入,我想从数据库中提取所有匹配至少 1 个字段的行。
例如,假设我有包含以下字段的用户表:姓名、电子邮件和地址。现在,从前端用户只输入人名(因此其他两个字段将不完整)。我的意图是所有现有的匹配项都来自数据库(即使名称输入不完整)。
我做的第一件事是寻找我可以使用的搜索引擎,这样我就不必自己思考和开发查询逻辑。这就是我找到 ElasticSearch 的方法,我一直在寻找它,我知道它可以完成,但它似乎不是“正确”的东西,因为 ElasticSearch 与 Documents 一起使用(更面向NoSQL 数据库)。接下来,我发现了一个叫做“全文搜索”的东西,这似乎是一种开发高效算法的技术。
我可以实施什么解决方案?事实是,我到处寻找,我迷失了,因为它给我的印象是我想做的事情是不可能的,或者可能很牵强。
【问题讨论】:
-
我想从数据库中取出所有匹配至少 1 个字段的行。 如果是这样,则必须使用 OR 运算符组合单独的条件。 用户只输入人名(因此其他两个字段将不完整)从查询中排除非指定条件的条件,或添加检查参数是否已设置。
标签: mysql sql node.js express elasticsearch