none
求模糊查询!!Help!! RRS feed

  • 问题

  • 在ASP.NET当中,怎么实现   当关键字中只有部分与SQL数据库中的数据匹配时也输出结果!!

    如:假如数据库中存在这样一条记录“beyond1991演唱会”  当搜索“beyond生命接触”  其中“beyond”匹配,也将结果输出!!!

    搜索  “beyond黄家驹”时,其中有“beyond”关键字匹配,也输出结果!!!!!或者搜索“beyond演唱会”时,关键字“beyond”  “演唱会”匹配,输出结果!!!!

    帮帮忙!谢谢!!

    2010年12月28日 12:35

答案

  • 这个需要分词。

    你可以简单的通过输入字符中需要提供空格来分词。

    比如输入 “beyond 生命接触”,你查询的时候变成:

    column like '%beyond%' or column like '%生命接触%'

    上面的办法在数据量不大的情况下使用,如果数据量比较大建议使用全文索引查找。或者使用其他三方的索引工具(比如lucene.NET)

    ps,lucene.NET内置分词组件,可以对语句分词,效果还可以。可以利用这个分词,不必依赖用户输入空格来分词。

     


    family as water
    2010年12月29日 2:12