我的Rails应用程序的搜索算法现在可以使用,但我真的不认为这是应该怎么做的。基本上,我做了以下性质的事情:
def search
users = User.all
//Implement search algorithm on the users array
end
我真的觉得这不应该是我应该怎么做的。我觉得我应该使用SQL
或ActiveRecord方法来准确获取我需要的行,但是当搜索变得非常密集时,我觉得这将是一个非常艰难的SQL
命令写。编写搜索算法以搜索数据库中特定内容的惯用方法是什么?例如,名字。如果我想搜索姓名并输入ire
该怎么办?我希望在Irene
之前显示desiree
,但两者都有子字符串。只是一个例子。
答案 0 :(得分:1)
当我需要真正的搜索时,我通常很有弹性,就像你提到的“艾琳”的词干一样:
https://github.com/elasticsearch/elasticsearch-ruby
对于较小的需求,你可以使用postgres中的全文搜索功能,使用像我这样的宝石: