在字符串+ java中搜索多个单词

时间:2014-06-23 10:55:52

标签: java

我有10页的txt文件,其中我必须搜索一系列10,000个单词来检查文件内容中存在多少个单词。

我正在使用AhoCorasic算法进行搜索。但是,为了检查每个单词是否存在,我在列表中添加了10,000个术语。那就是我必须迭代10,000次才能知道每个单词是否存在。 (10,000可以增长到n)

上述方法的问题是 - > CPU必须循环10,000次,并且完成任务所需的时间更长。

我正在寻找替代方法,我可以一次提供所有10,000个单词(以避免循环)并获得每个单词的结果。

有没有办法实现这一点。或者,如果有任何其他替代Ahocorasic搜索来实现上述情况。

1 个答案:

答案 0 :(得分:0)

反转搜索:在文本中创建一组单词,然后查找源材料中的术语是否为O(1)。不过,正如其他人所说,如果你需要做更复杂的匹配而不是简单的术语存在,我还建议使用Lucene。