Rails Postgres ILIKE反过来

时间:2016-12-17 19:07:16

标签: ruby-on-rails ruby postgresql activerecord

是否可以将完整的字符串与DB中的少一些匹配?

基本上,我可能会有一个类似“Microsoft Windows XP Home Edition”或“Microsoft Windows XP SP2”的字符串,但在我的数据库中我有“Microsoft Windows XP”。

目前,我正在使用ILIKE

Issue.where(type: :os).where("name ILIKE ?", "%Windows XP SP2%")

由于SP2部分不存在,因此未找到匹配项。

那么,是否有一些功能可以让我像往常一样在DB字段中放置一些通用的东西,如果输入更具体,那么找出一个匹配的东西?

1 个答案:

答案 0 :(得分:1)

在这种情况下你应该使用PostgreSQL full text search

示例查询:

Issue.where("to_tsvector(name) @@ to_tsquery('Windows|XP|SP2')")