代码之家  ›  专栏  ›  技术社区  ›  Nick Allen

对文本字段进行关键字搜索的最佳方法是什么?

  •  0
  • Nick Allen  · 技术社区  · 16 年前

    我有一个数据库表,它保存关于图像的元数据,关注的字段是标题字段。我希望用户能够在文本框中输入关键字,并让应用程序根据标题返回与关键字匹配的图像选择。

    我已经有了返回用户输入的单个关键字数组的代码,但进行比较的最佳方法是什么。所以我在想。。。

    foreach (Image image in Images)
    {
        foreach (string keyword in keywords)
        {
            if (image.Caption.Contains(keyword))
            {
                imageCollection.Add(image);
                break;
            }
        }
    }
    

    但这似乎有点过于简单,因为它不支持只匹配整个单词。更不用说特殊字符、标点符号等了。

    我觉得这里应该使用正则表达式,但我不是正则表达式专家。或者,我应该将标题分解成单个单词,并逐个对单词进行比较。寻找一些建议真的!

    编辑:我也很感兴趣的加权结果的基础上匹配的关键字数量。但我不想在这里重新创建谷歌图片!

    1 回复  |  直到 16 年前
        1
  •  1
  •   Eric Petroelje    16 年前

    最好的方法可能是对数据库中的标题字段使用全文索引。让数据库为您完成这项工作!