在我的Android应用中,我需要从SQLite数据库中选择数据。但是,我有一个搜索字段,用户可以在其中键入位置的名称。由于他们可能会输入这个名称,我需要能够根据这个数据从数据库中提取相关记录。
例如:
输入:Ferris Whrrl
实际:摩天轮
尽管有拼写错误,它应该正确定位摩天轮入口。我意识到editdist3没有在Android SQLite中实现。我也不愿意将整个数据库选入RAM并循环遍历所有字符串并手动计算Levenshtein距离,因为这将是超级资源密集型。
任何帮助将不胜感激!! :)
答案 0 :(得分:0)
我认为你能做的最好的事情就是像现在所有的搜索引擎一样实现自动建议功能。
您可以实现一种动态算法,在输入新字母时根据需要搜索和缓存值。但是,如果您只是在没有任何外部服务的帮助下操作裸机,那么您也会遇到资源问题 - 具体取决于数据库的大小和其他上下文变量。
拥有合适的索引会有所帮助,但我仍然认为将所有必要的值加载到数组中并且搜索速度更快。
答案 1 :(得分:-1)
在这里,您需要创建一个AI
系统来猜测正确的单词。我认为这与SQL或Android无关。
或者您可以使用在线AI系统来猜测正确的单词。