我想了解google如何处理2个单词之间的空格。例如,有2个单词 - word1和word2。我在搜索框'word1word2'中写道,它表示你的意思是'word1 word2'或者只是理解为'word1 word2'。他们使用什么数据结构和算法的任何信息?我在这个答案How to split text without spaces into list of words?中看到,建议使用trie数据结构。
答案 0 :(得分:4)
在法术修正器的候选代中,你允许遗漏一个空格,就像你允许遗漏其他字母一样......也许在这里查看拼写纠正讲座:http://nlp-class.org/ [对不起,自我推销]或Peter Norvig的介绍:http://norvig.com/spell-correct.html
答案 1 :(得分:1)
我假设你必须有一个脚本(使用ajax for exemple http://net.tutsplus.com/tutorials/javascript-ajax/adding-a-jquery-auto-complete-to-your-google-custom-search-engine/)
基本上你检查字典中的单词。这个空间不应该是检查这个词的条件,而只是一种可能性。例如,一个简单的算法(非常简单)将是:“几个字”你检查3个第一个字母,什么都没有?然后你检查4个第一......
以下是有关Google搜索引擎的一些解释: https://developers.google.com/search-appliance/documentation/60/admin_searchexp/ce_improving_search
也许这里也有帮助: http://tm.durusau.net/?cat=1106