首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Sequel gem将full_text_search与unaccent结合起来?

如何使用Sequel gem将full_text_search与unaccent结合起来?
EN

Stack Overflow用户
提问于 2018-02-27 18:36:42
回答 1查看 74关注 0票数 1

如何将Sequel.full_text_search方法与PostgreSQL unaccent中提供的函数结合使用,以便返回与搜索项匹配的记录,而不考虑带有重音的字符?

例如:

代码语言:javascript
复制
# Given a user with first_name: Nícolas
User.full_text_search(:first_name, "nicolas").count
# Expected result to be 1, but it is 0
EN

回答 1

Stack Overflow用户

发布于 2018-02-27 18:36:42

通过使用Sequel::SQL::Function类,可以达到预期的效果

代码语言:javascript
复制
# Given a user with first_name: Nícolas
col = Sequel.qualify(:users, :first_name)
col_without_accent = Sequel::SQL::Function.new(:UNACCENT, col)
Person.full_text_search(col_without_accent, "nicolas").count
# => 1

我们还可以将相同的unaccent函数应用于用于匹配结果的术语:

代码语言:javascript
复制
Person.full_text_search(col_without_accent, Sequel::SQL::Function.new(:UNACCENT, "nícolas")).count
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49006603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档