1

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

例如文本:

提问前在 StackOverflow 上搜索答案

变成:

提问前在StackOverflow上搜索答案

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

我是如何解决这个问题的

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

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

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

4

1 回答 1

0

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

于 2013-08-04T05:44:53.130 回答