0

我正在使用 CONTAINS 在名称表结构上具有 FULL-TEXT INDEX 的表上搜索字符串:

METADATATAG ( IagID INT (IDENTITY) Name NVARCHAR(500)) 

DECLARE @Contains   nvarchar (1000)
SET @Contains = N'173 57' 
SET @Contains = '"' + @Contains + '*"'

SELECT  *
FROM    MetadataTag MT
WHERE   contains(MT.Name,@Contains)
order by  name

上面的查询结果是有“173 057”的项目数,但我实际上搜索的是“173 57”。

如何限制“173 057”的结果。它甚至在字符串“173 57”中获得了 0 的结果,例如“173 057”。

4

1 回答 1

0

您可以尝试在全文目录中使用中性语言进行分词器。

查看这些查询的结果集也很有用:

select * from sys.dm_fts_parser ('"173 57"', <your language id>, <stop-list id>, 0)

select * from sys.dm_fts_parser ('"173 057"', <your language id>, <stop-list id>, 0)
于 2013-11-26T08:03:34.343 回答