2016-02-28 52 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