我在数据库中有数千个关键字(每个关键字中包含一个或多个单词)的有限列表.我想有效地找到哪些关键字在给定的输入文本中,而不必逐个测试每个关键字(全表扫描).允许匹配文本中的一
如果是这样,这根本不是一个全文问题.基本上,您只有两个单词列表(原始关键字和输入文本中的单词列表).如果对两个列表进行排序,则可以同时扫描两个列表并提取共同的单词.
假设关键字列表已经排序,您可以在O(n logn)时间内从文本正文中提取和排序单词,然后同时扫描两个列表是O(nm)(其中n是单词的数量)文本正文和m是关键字列表中的单词数).