使用redis查找最长子字符串的最有效方法是什么?

时间:2016-06-03 06:46:42

标签: redis

我有各种字典,如发布商名称,位置等,它们存储在redis中。当用户传递整个引用字符串时,需要从redis中找到最长的子字符串。

示例:

出版商名称字典:

Academic Press
Springer US
Kluwer Academic Publishers
Kluwer Academic Publishers-Plenum Publishers
Cambridge University Press
Wiley

当用户传递参考字符串时,

1. "Designing Research on Bilingual Development,Springer US (2012), 203-209"
2. "Kluwer Academic Publishers (2011), Clinical Handbook of Obsessive-Compulsive and Related Disorders, 99-134"
3. "IEEE - Psychological Perspectives on Childcare in Indian Indigenous Health Systems, 847-88, 2nd ed. 2003"

所以期望的输出是

1. Springer US 
2. Kluwer Academic Publishers 
3. NULL : because no sub-sequence found in redis.

所以我的问题是:

  1. redis对这种情况有用(如果没有请建议其他解决方案)
  2. 如果是,那么如何检索最长的子字符串

1 个答案:

答案 0 :(得分:0)

就我个人而言,我认为Redis不会对此有所帮助。如果你不想自己实现算法,也许像Elasticsearch这样的开源搜索引擎可以提供帮助。

如果您只想要一个数据库,那么MongoDb可以帮助您搜索子字符串。