如何使用elasticSearch有效地匹配一个字符串中的数十万个子字符串

时间:2016-10-26 09:34:55

标签: elasticsearch

我的问题很简单:我有一个包含400,000个子串的数据库(电影和电视节目标题)。 我想在以下消息中匹配这些标题:

  

我真的很喜欢权力的游戏西装,还有 Spotlight 非常棒   电影。

我需要的是在此字符串中匹配权力游戏适合 Spotlight

我试图将所有标题发送到wit.ai,但它似乎无法处理100,000个子字符串。

我想知道弹性搜索能否完成这项工作?

如果这是一个常见问题,抱歉,你能帮我找一个正确的方向。

谢谢!

1 个答案:

答案 0 :(得分:1)

在文本中从字典中查找字符串的最佳算法之一是Aho-Corasick一个

  

字典匹配算法,用于定位有限集的元素   输入文本中的字符串("字典")。它匹配所有   同时串起来。算法的复杂性是线性的   字符串的长度加上搜索文本的长度加上   输出匹配的数量。

但是我想知道你的数据库引擎没有提供这种搜索的可能性......可能它真的可以,但你不知道?