解析存储在数据库中的大文本(5000 字或更多)、搜索名称的最佳方法是什么?文本将是多语言的。
我的第一个想法是一种相当幼稚的方法,将所有以大字母开头的单词与数据库进行比较。但这在仅包含小写字母的文本中往往会失败。
编辑 文本不是静态的,而是动态的(例如网站)
最好的
麦克斯
您可以使用Aho-Corasick 算法,并使用您尝试匹配的名称构建一个字典。它与文本中的标记数量加上匹配名称的数量成线性关系。
您将需要一本姓名字典。
或者您可以尝试了解大量名称的http://www.opencalais.com/ 。
我在这里做了一个替换大文本中的多个字符串的方法:A better way to replace many strings - obfuscation in C#。也许您可以使用相同的原理。