我目前正在使用ExpressJS,PostgreSQL和Sequelize作爲ORM的項目中工作。我開發了一個搜索功能,使一個查詢,按名稱搜索項目:在Sequelize中無法使用
models.foo.findAll({
where: {
$or: [
{name: {$ilike: keywords}},
{searchMatches: {$contains: [keywords]}}
]
},
order: [['name', 'ASC']]
})
這工作得很好,但如果名稱中包含特殊字符(如A,E,I,O或U)這個查詢贏得」找到它。
有沒有辦法讓查詢搜索名稱與speacial字符在一個有意義的意義?如果我搜索名稱「馬鈴薯」結果「土豆」,「大鍋飯」和「我們是pótatóes」將出來,但不是「我們吃pátatos」(因爲á!= o)
我只是評論,因爲我不認爲我的解決方法是答案材料。我之前通過sequelize解決了這個問題並失敗了,所以我設計了一個解決方法函數,該函數創建了一個數組,其中包含與給定字符串中的元音和重音符號的每個單獨排列一樣多的元素。這個數組將用於在集合查詢中構建'$或'數組。 –
@FranciscoFarías我發佈了一個可能對你有用的答案。 – Potray