以下是情况:
我有一个网页,已被爬取为字符串。
我有几个字段在MSSQL数据库中。例如,汽车型号,它有一个ID和一个名称,如Mustang或Civic。它已经填充了大多数汽车型号。
我想找到我的模型表中任何行的任何匹配项。因此,如果我的模型表中有Civic、Mustang和E350,我希望找到我已经爬取的页面上任何一个的出现。
在C#中,有什么高效的方法可以做到这一点。我正在使用LINQ to SQL与数据库进行交互。
创建所有模型的字典,对页面进行标记化并迭代标记是否有意义?还是应该遍历标记,并使用WHERE子句询问数据库是否存在匹配项?
//Dictionary dic contains all models from the DB, with the name being the key and the id being the value...
foreach(string pageToken in pageTokens)
{
if(dic.ContainsKey(pageToken))
{
//Do what I need to do
}
}
这两种方法对我来说都不太好。有什么建议吗?我想用一些集合交集的方法可能会很好。
这两种方法都没有解决模型名称超过一个单词的情况,比如“F150 Extended Cab”。你有什么想法吗?