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

时间:2018-06-27 17:00:08

标签: 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*"');

我得到错误的结果,例如“ Vitamin D3 1000 Iu”。 但是我只想获取名称字段中有任何单词以'n'char开头的行。

1 个答案:

答案 0 :(得分:0)

FTS引擎具有奇怪的“功能”,当您尝试查找诸如$('#myModal').on('shown.bs.modal', function (e) { $('.date').datepicker(); }); 之类的内容时,它会搜索所有数字,因为它将数字保留为NN。

建立的最佳决策是在这两种情况下(CONTAINS(Name, N'"n*"'))使用“喜欢”搜索。