我想用sequelize实现MySQL全文搜索 . 版本"sequelize":"^3.23.6" . 我试图研究这个,但找不到=指导如何实现这个的文档 . 以下是sequelize支持FullText的链接:https://github.com/sequelize/sequelize/issues/2979
但是没有关于如何做到这一点以及如何使用sequelize进行全文搜索查询的确切文档 .
任何链接建议都会有所帮助
谢谢 !
我想用sequelize实现MySQL全文搜索 . 版本"sequelize":"^3.23.6" . 我试图研究这个,但找不到=指导如何实现这个的文档 . 以下是sequelize支持FullText的链接:https://github.com/sequelize/sequelize/issues/2979
但是没有关于如何做到这一点以及如何使用sequelize进行全文搜索查询的确切文档 .
任何链接建议都会有所帮助
谢谢 !
3 回答
Sequelize并不完全支持全文搜索功能 . 我们可以像任何其他索引一样简单地添加FULLTEXT索引 . 但是,支持
MATCH (column) AGAINST (value)
语法的运算符尚未实现 .我目前解决问题的方法是创建一个常规模型:
并使用原始查询进行查询:
如果你试图搜索屈折词,同义词等,那么只使用MySQL就不可能获得正确的结果.MySQL开发人员考虑为全文搜索添加词典(https://dev.mysql.com/worklog/task/?id=2428),但谁知道我们什么时候会看到它 .
如果您必须坚持使用MySQL,我建议您查看Sphinx . 它适用于同义词和屈折词 .
因为我们现在在最近的Sequelize中有错误消息,如下所示:
Unhandled rejection Error: Support for literal replacements in the where object has been removed.
解决方案是手动提供替换
使用数组来处理更复杂的条件:
由于Sequlize不支持fullText搜索 .
这是从表中搜索字符串的另一种方法