我的sql语句是这么写的:contains(title,'"珠宝" and not "宝盒"')但搜索结果类似 :“我有一个珠宝盒子”这个信息也出来了,请问如何写sql语句才能让这样的信息不出来呢?

解决方案 »

  1.   

    不知道把顺序换下可以不 contains(title,'not "宝盒" and "珠宝"')
    这个情况估计不好解决,因为冲突,牵扯到分词问题
      

  2.   

    contains(title,'"珠宝" and not "宝盒" and not "珠宝盒"')
      

  3.   

    要精确匹配,如果数据量不大,就用like查询
      

  4.   

    CREATE TABLE #temp
    (
    [value] NVARCHAR(100)
    )
    INSERT #temp
    SELECT N'我有一个珠宝盒子'
    GO
    --SQL:
    SELECT * FROM #temp
    WHERE [value] LIKE N'%珠宝%'
    AND REPLACE([value], N'珠宝', '') NOT LIKE N'%宝盒%'
      

  5.   


    几百万的数据,like查询速度太慢。
      

  6.   

    like不考虑,而且查询关键词可能很多。如:珠宝 山 -宝盒 -momo
      

  7.   

    全文检索是基于分词的,珠宝盒是一个词,除非你让用户
    知道这个原理,在页面查询,在not处多输入个“珠宝盒”,否则没法解决这类问题
      

  8.   

    http://www.balafind.com/cgi-bin/tryshopdatabase.cgi?&SearchName=这个站是可以实现的,怎么会没办法解决呢????????
      

  9.   

    传说中的csdn也不过如此………………
      

  10.   

    我想问下,mssql全成生文索引,如:恒通电子,根把简体中文生成索引就是:   通电。我想让它生成恒能电子,哪有高手知道这方面的技术,提点下,或是有什么好的办法做实时索引,结合mssql或如何做索引(高性能),不胜感激,lucence用过,不好用