当前位置 : 主页 > 网络推广 > seo >

是否有一种有效的算法来执行反向全文搜索?

来源:互联网 收集:自由互联 发布时间:2021-06-16
我在数据库中有数千个关键字(每个关键字中包含一个或多个单词)的有限列表.我想有效地找到哪些关键字在给定的输入文本中,而不必逐个测试每个关键字(全表扫描).允许匹配文本中的一
我在数据库中有数千个关键字(每个关键字中包含一个或多个单词)的有限列表.我想有效地找到哪些关键字在给定的输入文本中,而不必逐个测试每个关键字(全表扫描).允许匹配文本中的一些拼写错误的单词会更好但不是必需的.任何算法/文章建议来解决这个问题? 我认为到目前为止的一些答案是误解了所提出的问题.我的理解是你有一个(大的)单词列表和一个(大的)文本正文.你想知道两个列表有哪些共同点,这是正确的吗?

如果是这样,这根本不是一个全文问题.基本上,您只有两个单词列表(原始关键字和输入文本中的单词列表).如果对两个列表进行排序,则可以同时扫描两个列表并提取共同的单词.

假设关键字列表已经排序,您可以在O(n logn)时间内从文本正文中提取和排序单词,然后同时扫描两个列表是O(nm)(其中n是单词的数量)文本正文和m是关键字列表中的单词数).

网友评论