none
全文搜索搜不出车牌号 RRS feed

  • 问题

  • 对表建立好全文索引后,搜索表中车牌号字段时,出现一些问题,不知如何解决,请高人赐教。

    问题如下:

    例如车牌号字段中一行数据的该字段值是 鲁BSX870

    CONTAINS (*,'"*BSX*"') 时可以搜到

    但是 CONTAINS (*,'"*70*"') 却搜不到

    好像凡是搜数字的都搜不到

    2012年8月28日 5:05

全部回复

  • Are they in noise word list?
    2012年8月28日 16:01
  • 我的干扰词的表里都是空的,应该不是干扰词引起的吧:

    select * from sys.fulltext_stoplists

    select * from sys.fulltext_stopwords

    这两个查询结构都是空的

    2012年8月29日 1:35
  • 全文索引搜这种东西确实可能搜不到。因为车牌号很可能不会被正确的分词。

    如果你熟悉分词的话,可以考虑编写自定义的分词算法。


    想不想时已是想,不如不想都不想。

    2012年8月29日 6:16
    版主
  • 关注一下

    给我写信: QQ我:点击这里给我发消息

    2012年8月29日 16:28
  • 鲁BSX870

    CONTAINS (*,'"*70*"') 你的正则是不是有问题呢?应该是这样吧 CONTAINS (*,'"*70"') 因为70是车牌号的最后两个数字了

    如果是CONTAINS (*,'"*70*"') 的话就匹配中间有70两个数字的车牌号


    给我写信: QQ我:点击这里给我发消息

    2012年8月30日 1:03
  • 和contains无关啦, 我试了,是可以的呀,用上面这个表达式可以搜出不管在什么地方的数字的。你的表是不是设置了什么,所以就不行了? 我用的是 AdventureWorks 数据库。

    USE AdventureWorks;
    GO
    SELECT Name
    FROM Production.Product
    WHERE CONTAINS(*, ' "*11*" ');
    GO
    


    Learning SQL.

    2012年8月30日 3:26