我正在运行一个Rails 3应用,我有一个jQuery自动完成框,它会根据Google商家信息自动填充功能返回结果。现在,我还希望它根据输入的字符串返回本地数据库中存在的位置的结果。
我已经设置了我需要的所有东西,以便能够从我的本地数据库返回我想要的地方。目前,它返回我本地数据库中的每个位置,但我需要实现一个算法来匹配输入的字符串到位置。现在,我的问题是,是否有一个很好的标准算法,我可以用来获得自动完成结果,(希望与谷歌地方自动完成相提并论)?不要担心实现细节,只需要算法。
如果在Rails中有现成的解决方案,那就太棒了!
答案 0 :(得分:2)
我有类似的设置(对work_items有效的任务),这是我必须做的粗略草图:
rails3-jquery-autocomplete
。f.autocomplete_field :task, autocomplete_task_title_work_items_path, :id_element => "#task_id"
autocomplete :task, :title, :limit => 1000, :full => true
您应该在GitHub上找到rails-jquery-autocomplete的一些文档,其中包含更多选项和解释。
答案 1 :(得分:0)
如果您拥有该位置的地理坐标,则可以使用空间索引或空间填充曲线来查找象限中的所有位置。或者您可以尝试使用harvesine配方进行更精确的匹配。