0
我有一个大约十亿个唯一字符串的列表,其中最多有几十个字符。我希望找到包含或匹配搜索字符串的所有字符串,理想情况下小于100-200毫秒,尽可能少的硬件(我假设我需要大量的RAM)。什么是最好的方式去存储和检索?在十亿个唯一字符串列表中搜索一个子字符串
- 从我读过,MySQL的
LIKE '%search%'
不使用索引,但LIKE '%search'
和LIKE 'search%'
都这样做。这是可以接受的最后手段,但不是理想的,因为我想在目标字符串中的任何位置找到搜索字符串。 - 使用像Redis这样的键值存储将需要存储每个可能的子串组合,并且我假设有很多RAM。
- 字符串列表大概是十几GB大。像Lucene这样的全文搜索服务器是否可行,甚至是理想的,而不是拥有数十亿行/文档/记录?它肯定会保存在解析。
由于这个问题并没有明确的答案,所以应该将其转换为社区wiki? – Kevin 2012-04-26 10:02:29