Sql server 全文搜索星号返回错误结果

Sql server 全文搜索星号返回错误结果,sql-server,full-text-search,fulltext-index,full-text-catalog,Sql Server,Full Text Search,Fulltext Index,Full Text Catalog,我有一个带有FTS索引的Ship表,创建为: CREATE FULLTEXT INDEX ON Ship ( Name ) KEY INDEX PK_Ship_Id ON MyCatalog WITH CHANGE_TRACKING AUTO, STOPLIST OFF; 当我运行下面的查询时: select Name From Ship where CONTAINS(Name, N'"n*"'); 我得到了错误的结果,例如“维生素D3 1000 Iu”。 但我只想

我有一个带有FTS索引的Ship表,创建为:

CREATE FULLTEXT INDEX ON Ship 
(       
    Name 
)
KEY INDEX PK_Ship_Id
ON MyCatalog
WITH CHANGE_TRACKING AUTO, STOPLIST OFF;
当我运行下面的查询时:

select Name From Ship where CONTAINS(Name, N'"n*"');
我得到了错误的结果,例如“维生素D3 1000 Iu”。
但我只想获取名称字段中任何单词以“n”字符开头的行。

FTS引擎具有奇怪的“功能”,当您尝试查找
包含(名称,n''n*”)
的内容时,它会搜索所有数字,因为它将数字保留为NN


在这两种情况下(
CONTAINS(Name,N'“N*”),CONTAINS(Name,N'“nn*”)
)使用“like”搜索。

则不应使用CONTAINS,如果希望我以N开头,请使用like“N*”。Name字段可以有多个单词,并且我希望在每个字段中搜索“N”字符。例如,CONTAINS(Name,N'“lol*”和“lala*”)精确地查找“Name Name lolll asd lalaaaa”字符串。