小编Pot*_*ray的帖子

Sequelize 中的 Unaccent

我目前在一个使用 ExpressJS、PostgreSQL 和 Sequelize 作为 ORM 的项目中工作。我开发了一个搜索功能,可以进行按名称搜索项目的查询:

models.foo.findAll({
  where: {
    $or: [
      {name: {$ilike: keywords}},
      {searchMatches: {$contains: [keywords]}}
    ]
  },
  order: [['name', 'ASC']]
})
Run Code Online (Sandbox Code Playgroud)

这工作正常,但如果名称包含特殊字符(如 á、é、í、ó 或 ú),此查询将找不到它。

有没有办法使查询搜索名称具有有意义的特殊字符?就像我搜索“土豆”这个名字一样,结果“土豆”、“大土豆”和“我们是土豆”会出现,但不会出现“我们吃土豆”(因为 á != o)

postgresql node.js express sequelize.js

3
推荐指数
1
解决办法
2007
查看次数

标签 统计

express ×1

node.js ×1

postgresql ×1

sequelize.js ×1