2016-02-28 56 views
0

如果提供了文本字符串,例如“网球帐户A33悉尼非盟”我需要找到一个匹配它的数据库记录。 “A33”部分可以是任何字符。Postgres搜索

我为我的Rails应用程序创建了一个名为Descriptor的模型,它有称为模式的字符串列。该模式可以包含%字符,以显示任何字符都可以在字符串中的这个位置。例如“网球帐户%悉尼AU”

因此,如果表中的数据是下面,我想找到其匹配的“网球账户A33悉尼AU”,它应该返回描述符中的描述符1.

#<Descriptor id: 1, pattern: "Tennis Account % Sydney AU", ... > 
#<Descriptor id: 2, pattern: "Tennis Account % Melbourne AU", ... > 
#<Descriptor id: 3, pattern: "Tennis Account Sydney AU", ... > 
#<Descriptor id: 4, pattern: "Jazz Flute Minions dney AU", ... > 

......数千个描述符

这个搜索查询如何在postgres中编写?

回答

1

现在我已经意识到这仅仅是周围的其他方式查询功能:

Descriptor.where('? LIKE pattern', "Tennis Account A33 Sydney AU").first