select * from lib_old1998081900006 where contains(Content,'"華國鋒"')
select * from lib_old1998081900006 where contains(Content,'"國鋒"')
第1條sql可以查出“華國鋒”的資料
第2條sql查不出“華國鋒”的資料,但是查出的資料有“胡國鋒的”同理:“澤東”查不出“毛澤東”的資料
不知道是什么原因 ,忘高手指點!

解决方案 »

  1.   


    是的,不一定是完全匹配的。就像你在google搜索一样。 搜索结果的精确度与分词算法有关。100%精确的分词算法是没有的, 除非就是完全匹配,这种的话,搜索结果差强人意,往往搜出很少或搜不出结果。
      

  2.   

    Hi we found some similar issues reported, here is a link for your reference:Consider the following scenario:• In Microsoft SQL Server 2005, you create a table that contains a column that uses a collation of the Traditional Chinese language.  
    • The rows in this column contain Traditional Chinese characters.  
    • You create a full-text indexing catalog on the column. 
    In this scenario, when you run a query against the table, the incorrect result is returned. Consider the following example:• You have the T1 table.  
    • The T1 table contains the Col1 column. 
    • You create a full-text indexing catalog on the Col1 column. 
    • The rows in the T1 column contain the following Traditional Chinese characters:• 陳明江 
    • 陳明水 
    • 陳明山  
     
    When you run the following queries, a NULL value is returned incorrectly.select * from T1 where contains(Col1,'陳明江')
    select * from T1 where contains(Col1,'陳明水')http://support.microsoft.com/default.aspx?scid=kb;EN-US;948567
    However, when you run the following query, the query returns the correct value.select * from t1 where contains(Col1,'陳明山')
      

  3.   


    http://support.microsoft.com/default.aspx?scid=kb;EN-US;948567