【问题标题】:How to implement Full Text Search with Sail.js and MySQL?如何使用 Sail.js 和 MySQL 实现全文搜索?
【发布时间】:2023-04-04 15:06:01
【问题描述】:

我认为 Waterline 目前不支持此功能。

那么我还需要安装哪些其他 npm 包才能让用户在应用中使用全文搜索?

我希望我的用户在单个输入中键入关键字,然后服务器从我指定的数据库的多个表中的多个列中返回过滤数据。

我的网络应用利用了 Angular.js、Sails.js 和 MySQL。

【问题讨论】:

    标签: mysql node.js full-text-search sails.js waterline


    【解决方案1】:

    你的意思是“匹配”-语法?

    Waterline 为您提供诸如 find()、findOne() 之类的函数……它们适用于您使用的任何数据库。 如果您想访问 Waterline 中未实现的语法(通常是因为并非所有数据库都支持它),您可以使用 query()-function (postgresql/mysql) 或 native()-function (mongodb):

    Foomodel.query("SELECT * FROM articles WHERE MATCH (title,body) AGAINST ('" + var +"')", function(err,result){
       if(err){
         return console.log(err);
       }else{
         console.log(result);
       }
    });
    

    见:http://beta.sailsjs.org/#/documentation/reference/Models/Model-Methods/query.html

    【讨论】:

    • 您的回答在处理简单场景时非常鼓舞人心,尽管顺便应避免 SQL 注入。我想我需要比这更强大的东西,我提到我需要从多个表中获取查询结果,如果我使用纯 SQL,事情会很糟糕。那么,您是否尝试过将全文搜索引擎与 Sails.js 结合起来,例如:foragejs.net
    • 为了防止 SQL 注入,我建议遵循此文档github.com/balderdashy/waterline-docs/blob/master/queries/…
    猜你喜欢
    • 2020-01-01
    • 2021-10-24
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    相关资源
    最近更新 更多