文本中的上下文关键字链接突出显示

时间:2013-08-03 21:53:26

标签: database algorithm search complexity-theory

我有一个关键字数据库(大约10,000个),每个关键字都与一个网址相关联。我现在需要使用用户生成的文本(3-4页),并用相应的链接替换所有关键字。

例如文字:

在询问

之前搜索StackOverflow以获得答案

变为:

在询问

之前搜索StackOverflow以获取答案

您如何建议我构建这样的算法以避免复杂性?我最终得到了n n log(n),有更有效的方法吗?是否有可用于此任务的软件或服务?

我是如何解决这个问题的

感谢@rici的回复。我最初尝试为PHP脚本构建它,因此必须快速执行任务,同时保存文章,但事实证明它并不那么容易。

相反,我创建了一个队列处理器脚本,该脚本定期轮询作业并更新最近保存的文章以使关键字突出显示。这些文章需要一段时间才能显示,但此过程可以一次更新多篇文章。

我使用的是更简单的算法,但是当性能成为问题时,我会按照建议来构建一个trie。

1 个答案:

答案 0 :(得分:0)

我建议将关键字放入trie。您可以在线性时间内将文本的每个单词与trie匹配;作为额外的加分,您可以在一次扫描时使用从左到右的一个字符来执行此操作。