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

时间:2010-02-22 12:31:40

标签: search dictionary wildcard

我正在研究一个大字典(100k~1m字)的项目。字典项看起来像{key,value,freq}。 Myy任务是开发增量搜索算法以支持精确匹配,前缀匹配和通配符匹配。结果应按freq排序。

例如:   字典看起来像

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数据结构表示的后缀树,但此方法不能有效地支持通配符匹配。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您需要查看n-gram来索引您的内容。如果你想要开箱即用的东西,你可能想看Apache Solr,它为你做了很多艰苦的工作。它还支持前缀,通配符查询等。