相关疑难解决方法(0)

弹性搜索还是Trie搜索/自动完成?

我的理解是,自动完成/搜索文本/项目在任何可扩展产品(例如Amazon eCommerce / Google)中都可以在高水平上实现的高水平是:-

基于弹性搜索(ES)的方法

  1. 文档存储在DB中。一旦持久化给弹性搜索,它就会创建索引并将索引/文档(基于令牌生成器)存储在基于内存或磁盘的配置中。

  2. 用户键入3个字符后,它将搜索ES下的所有索引(可以配置为甚至对ngram进行索引),根据权重对它们进行排名并返回给用户

但是在阅读了谷歌的一些资源后,例如基于特里的搜索

看起来有些可伸缩产品还使用Trie数据结构来进行基于前缀的搜索。

我的问题是,基于特里的方法是否可以很好地替代ES或ES在内部使用,Trie还是我在这里完全错过了?

algorithm autocomplete trie elasticsearch

3
推荐指数
1
解决办法
935
查看次数

标签 统计

algorithm ×1

autocomplete ×1

elasticsearch ×1

trie ×1