【问题标题】:Full text search syntax error全文搜索语法错误
【发布时间】:2015-03-07 06:01:23
【问题描述】:

我使用目录和索引创建了一个全文搜索,当我使用如下一个单词运行查询时,包含查询工作正常。

SELECT Name
FROM dbo.Gifts
WHERE CONTAINS(Name, 'gift')

它返回“测试礼物”

我的表格中只有一行,名称列中的数据如下所示:'test gift'

但是当我用这个语句运行 conaints 查询时:

SELECT Name
FROM dbo.Gifts
WHERE CONTAINS(Name, 'test gift')

它抛出一个错误说:全文搜索条件'test gift'中'gift'附近的语法错误。

我认为 contains 可以查询匹配和听起来相似的短语和多个单词?

【问题讨论】:

    标签: sql-server full-text-search sql-server-2014-express containstable


    【解决方案1】:

    您需要双引号来管理该空间,请记住您正在搜索整个字符串,而不是字符串中的单词。以下查询会找到“test gift”,但不会找到“gift test”

    SELECT Name
    FROM dbo.Gifts
    WHERE CONTAINS(Name, '"test gift"')
    

    或者,如果你想单独搜索单词,它会是

    SELECT Name
    FROM dbo.Gifts
    WHERE CONTAINS(Name, '"test" AND "gift"')
    

    第二个应该给你一个“礼物测试”和“测试礼物”的字段

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-26
      • 2016-03-03
      • 2013-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多