当前位置:  开发笔记 > 编程语言 > 正文

针对5亿个字符串进行前缀搜索

如何解决《针对5亿个字符串进行前缀搜索》经验,为你挑选了0个好方法。

我有一个500密耳的字符串列表.字符串是字母数字,ASCII字符,大小不一(通常为2-30个字符).此外,它们是单个单词(或没有空格的单词组合,如'helloiamastring').

我需要的是一种快速检查目标的方法,比如'嗨'.结果应该是500mil列表中以'hi'开头的所有字符串(例如'hithere','hihowareyou'等).这需要很快,因为每次用户键入内容时都会有一个新的查询,所以如果他输入"hi",如果他输入"hey",将显示500 mil列表中以"hi"开头的所有字符串,所有以"hey"开头的字符串都会显示等.

我尝试过Tries算法,但存储300 mil字符串的内存占用空间非常大.它应该需要我100GB + ram.而且我很确定这个名单会增长到十亿.

这个用例的快速算法是什么?

PS如果没有快速选项,最好的选择是限制人们在结果显示之前至少输入4个字符.有没有快速的方法来检索结果呢?

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有