我正在尝试找到一个快速(毫秒或秒)的解决方案,用于输入一个输入的文本块和一个大的列表(1100万)特定的单词/短语进行测试。所以我想看看输入段落中的单词/短语是什么?
我们使用Javascript并将SQL,MongoDB和DynamoDB作为现有数据存储,我们可以将此解决方案集成到其中。
我已经完成了对这个问题的搜索,但只能查找文本中是否存在单词。而不是相反。
欢迎所有想法!
在这些情况下,您希望尽可能多地消除不必要的数据。假设订单很重要:
n = 2
(或1,如果你进入那个)n
的短语,并对字典中以任何短语对开头的短语('My Phrase%'
)执行查询。由于索引,这将不会执行45.21亿字符串比较。n = n + 1
你也可以在这里和那里进行小的优化,这取决于你正在寻找的匹配类型,例如,不匹配标点符号,只有特定字长的短语等等。无论如何,我希望时间瓶颈这里是磁盘访问,而不是实际的比较。
此外,我很确定我将此算法基于现有算法,但我不记得它的名字所以奖励积分给任何可以命名它的人。我认为它与数据仓库/挖掘和计算频率和模式有关?