1

我想在大量文档中搜索字符串。我有一个预定义的可用字符串列表,我想在每个文档中找到它们。每个文档的开头都包含一个标题,后跟文本,标题中是我想在标题下方的文本中搜索的附加字符串。

在文档的每次迭代中,是否可以在创建由主列表创建的初始树后添加标题字符串?或者修改原始数据结构以包含新字符串?

如果这不切实际,是否有更合适的替代搜索方法?

4

1 回答 1

2

如果每个文档都有自己的一组要搜索的字符串,那么您似乎可以只构建一个全局 Aho-Corasick 匹配器,然后再构建一个每个文档的匹配器。然后,当您处理文档中的字符时,将每个字符输入到两个匹配的自动机中,并报告以这种方式找到的所有匹配项。这消除了向主自动机添加新字符串并在完成后删除它们的需要。另外,减速应该很小。

希望这可以帮助!

于 2015-03-04T16:26:53.737 回答