我有一个数据库表,其中包含有关图像的元数据,所关注的字段是标题字段。我希望用户能够在文本框中输入关键字,然后让应用根据标题返回与关键字匹配的一组图像。
我已经有了返回用户输入的单个关键字数组的代码,但是进行比较的最佳方法是什么。所以我在想……
foreach (Image image in Images)
{
foreach (string keyword in keywords)
{
if (image.Caption.Contains(keyword))
{
imageCollection.Add(image);
break;
}
}
}
但这似乎有点太简单了,因为它不支持只匹配整个单词。更不用说特殊字符、标点符号等。
我觉得这里应该使用正则表达式,但我不是正则表达式专家。或者我应该将标题分解成单独的单词并逐个处理单词的比较。真的在寻找一些建议!
我正在用 C# 编写,但我认为可以与语言无关
编辑:我对根据匹配的关键字数量对结果进行加权也很感兴趣。但我并不想在这里重新创建 Google 图片!
最佳答案
可能最好的方法是在数据库的标题字段上使用全文索引。让数据库为您完成工作!
关于c# - 在文本字段上进行关键字搜索的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/619107/