【问题标题】:Results not Proper for a Full Text Index in SQL Server结果不适用于 SQL Server 中的全文索引
【发布时间】:2013-11-26 07:02:52
【问题描述】:

我正在使用 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'。

【问题讨论】:

    标签: sql sql-server full-text-search database-performance containstable


    【解决方案1】:

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

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

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 2019-05-02
      • 1970-01-01
      • 2020-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多