自动完成/前缀匹配,如google :: Trie / Dwag / sphinx / lucene

时间:2012-02-02 17:32:03

标签: lucene sphinx trie

您好听说过Trie最适合自动建议/自动完成。 但是dwag占用的空间更少,所以我觉得dwag会更好。

此外,如果Sphinx / Lucene可以进行前缀匹配,那么为什么我们不应该使用它。

Trie / dwag对小桌子也有好处吗?

1 个答案:

答案 0 :(得分:0)

我在DAWGs看到的问题; DAWG相对复杂。您可以通过所有单词获得唯一的路径(为了将某些数据与您通常想要的密钥相关联),但这比使用仅前缀压缩并且将具有唯一终端节点的trie要困难得多。使用DAWG获得的后缀压缩只有在非常内存有限的情况下(例如在嵌入式设备上)才有价值,自从你提到Lucene以来,你可能不会这样做。

前缀树是为此任务设计的。这是完美的。如果你需要自己编写,那就是你要去的地方。当然,也有很多可用的库,如果您没有特殊需求,则非常适合。