Database 在分布式系统中,存储提前输入建议的trie的最佳方式是什么?
我一直在读一些关于尝试的文章,以及它们是如何成为一个好的排字设计结构的。除了trie之外,您通常还拥有节点的键/值对和预先计算的top-n建议,以改进响应时间 通常,从我收集的信息来看,最好将它们保存在内存中,以便进行快速搜索,如在这个问题中所建议的:。但是,如果您的Trie太大,您必须以某种方式将其切碎,该怎么办?(例如,可能是一个大型电子商务网站) 预先计算的建议的键/值对显然可以在键/值存储中实现(保存在内存中,如memcached/redis或数据库中,并根据需要进行水平缩放),但是如果trie不能存储在内存中,那么存储trie的最佳方法是什么?到底是应该这样做呢,还是应该让分布式系统在内存中分别保存trie的一部分,同时也复制它以避免丢失 P>可选地,可以使用搜索服务(例如SoR或ErrearCearch)来生成搜索建议/自动完成,但我不确定该特定的用例是否达到标准。Trie的优点是,您可以根据其结构预先计算top-N建议,让搜索服务处理网站上的实际搜索 我知道这方面有现成的解决方案,但我最感兴趣的是学习如何在这方面重新发明轮子,或者如果有人想提出这个话题,至少看一看最佳实践 你的想法是什么 编辑:我还看到了这篇文章:,它基本上涵盖了使用Redis作为跳过列表的主要数据存储,使用mongodb作为LRU前缀。似乎是一个不错的方法,但我仍然想知道是否还有其他可行/更好的方法Database 在分布式系统中,存储提前输入建议的trie的最佳方式是什么?,database,search,scalability,trie,typeahead,Database,Search,Scalability,Trie,Typeahead,我一直在读一些关于尝试的文章,以及它们是如何成为一个好的排字设计结构的。除了trie之外,您通常还拥有节点的键/值对和预先计算的top-n建议,以改进响应时间 通常,从我收集的信息来看,最好将它们保存在内存中,以便进行快速搜索,如在这个问题中所建议的:。但是,如果您的Trie太大,您必须以某种方式将其切碎,该怎么办?(例如,可能是一个大型电子商务网站) 预先计算的建议的键/值对显然可以在键/值存储中实现(保存在内存中,如memcached/redis或数据库中,并根据需要进行水平缩放),但是如果