我们看到谷歌,Firefox,一些AJAX页面显示可能的项目列表,而用户键入字符.
有人能给出一个好的算法,数据结构来实现自动完成吗?
问题是如何通过firefox 3 url栏查找匹配条目进行字符串匹配.每个条目的子串匹配可能很慢.什么算法可用于快速匹配任何位置?
我想实施一个"文本"建议.
我有大量数据,如何实现高效且可扩展的自动完成?
编辑1:我有一个mysql表,每行一个客户端和一个'名称'列,我想创建一个建议,以搜索客户端名称(如谷歌建议,而不是查询,它是客户端名称) - 我有一个巨大的行数,我如何设计有效的建议?
当用户开始在"输入文本"中输入内容时,我想显示可能的客户端名称
我想详细说明一个涵盖以下场景的正则表达式:
搜索到的单词是"马铃薯".
如果用户搜索"potaot"(他快速键入并且"o"手指比"t"手指快,则匹配.(完成)
如果用户搜索"ptato"(他忘了一个字母),它会匹配.(完成)
凭借我对正则表达式的了解,我能够进一步发展:
(?=[potato]{5,6})p?o?t?a?t?o?
Run Code Online (Sandbox Code Playgroud)
这个问题是它匹配像"otatop"这样的反向词,这是一个有点聪明但有点bezarre,和"ooooo",这是完全不受欢迎的.所以我没有描述我不想要的东西.
我不希望重复的字母与"ooooo","ooopp"等相匹配(无法)
顺便说一句,我正在使用C#.