Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search 支持大型字典上通配符搜索的最佳方法?_Search_Dictionary_Wildcard - Fatal编程技术网

Search 支持大型字典上通配符搜索的最佳方法?

Search 支持大型字典上通配符搜索的最佳方法?,search,dictionary,wildcard,Search,Dictionary,Wildcard,我正在做一个项目,搜索一本大字典(10万~100万个单词)。字典项看起来像{key,value,freq}。Myy任务是一个增量搜索算法的开发,支持精确匹配、前缀匹配和通配符匹配。结果应按频率排序 例如: 这本字典看起来像 key1=a,value1=v1,freq1=4 key2=ab,value2=v2,freq2=2 key3=abc,value3=v3 freq3=1 key4=abcd,value4=v4,freq4=3 当用户键入“a”时,返回v1、v4、v2、v3 当用户键入“a

我正在做一个项目,搜索一本大字典(10万~100万个单词)。字典项看起来像{key,value,freq}。Myy任务是一个增量搜索算法的开发,支持精确匹配、前缀匹配和通配符匹配。结果应按频率排序

例如: 这本字典看起来像

key1=a,value1=v1,freq1=4
key2=ab,value2=v2,freq2=2
key3=abc,value3=v3 freq3=1
key4=abcd,value4=v4,freq4=3
当用户键入“a”时,返回v1、v4、v2、v3
当用户键入“a?c”时,返回v4、v3

现在,我最好的选择是由DAWG数据结构表示的后缀树,但这种方法不能有效地支持通配符匹配


有什么建议吗?

您需要查看n-grams,以便为您的内容编制索引。若你们想做一些开箱即用的东西,你们可能会想看看哪些东西对你们来说很难。它还支持前缀、通配符查询等。

作为一个新用户,请不要生气,但要告知您,使用短信风格写作会对自己造成伤害。清晰的标点符号和大写字母使问题更具可读性,吸引更多的人给出答案。如常见问题所述:为了得到好的答案,你必须在这个问题上付出一些努力。