即使使用u作为关键字搜索,SQL CONTAINS函数也不会显示单词'under'的记录

问题描述 投票:2回答:2

使用SQL CONTAINS函数无法显示包含单词“ under”的记录。我阅读了有关此文档的Microsoft文档,并基于其中的AdventureWorks DB示例,结果集符合预期,但是在将同一示例应用于搜索单词为“ under”的记录时会遇到困难。

enter image description here

这是我正在处理的脚本,您还可以执行该脚本来模拟场景:

--Creating table
CREATE TABLE MyTable
(
   ID INT NOT NULL IDENTITY(1,1),
   [Description] NVARCHAR(200) NULL
   CONSTRAINT PK_ID PRIMARY KEY CLUSTERED (ID)
)

--Populating table
INSERT INTO MyTable
SELECT 'Testing'
UNION SELECT 'This is it'
UNION SELECT 'Under the name of whoever'
UNION SELECT 'I undergo surgery'
UNION SELECT 'Under Armour'
UNION SELECT 'Frequent under the table'
UNION SELECT 'I am underpaid too'
UNION SELECT 'Anything under the sun'
UNION SELECT 'What is the matter peanut butter'
UNION SELECT 'Underline'
UNION SELECT 'Chainring Bolts'
UNION SELECT 'Chaining Nut'
UNION SELECT 'Chainring'
UNION SELECT 'Chain Stays'
UNION SELECT 'Chain'
UNION SELECT 'Dummy Chain'
UNION SELECT 'Land Down Under'
UNION SELECT 'Many Underlings'
UNION SELECT 'Only Undo'

--One time setup to enable fulltext search
EXEC sp_fulltext_database 'enable'
GO
CREATE FULLTEXT CATALOG FTCSearch
GO
CREATE FULLTEXT INDEX ON MyTable([Description])
   KEY INDEX PK_ID ON FTCSearch
GO

查询:

--Query showing phrases that have c prefix
SELECT * FROM MyTable
WHERE CONTAINS([Description], ' "c*" ')
--Getting the expected result

enter image description here

--Query showing phrases that have u prefix
SELECT * FROM MyTable
WHERE CONTAINS([Description], ' "under*" ')
--Not getting expected result: Missing phrases that contains 'under' word
--Missing: Under the name of whoever
--Missing: Under Armour
--Missing: Frequent under the table
--Missing: Anything under the sun
--Missing: Land Down Under
--Missing: Under the name of whoever

enter image description here

我在使用SQL CONTAINS函数显示包含单词“ under”的记录时遇到麻烦。我阅读了有关此文档的Microsoft文档,并根据其中的示例使用AdventureWorks DB,...

sql-server tsql full-text-search
2个回答
1
投票

我有同样的问题。我在下面进行了查询,然后开始为我工作。


0
投票

[Roger WolfVBAGuy的反馈意见:1.根据系统/默认值创建自定义停止列表2.从自定义停止列表中删除单词3.将创建的自定义非常规列表应用于Mytable

© www.soinside.com 2019 - 2024. All rights reserved.