相关疑难解决方法(0)

SQL Server全文搜索未找到我的行

我有一个SQL Server表,我正在尝试理解全文搜索:-)

我在一个表上设置了一个全文目录和一个全文索引Entry,其中包含一个VARCHAR(20)名为的列VPN-ID.

该表中大约有200'000行,并且该VPN-ID列具有如下值:

VPN-000-359-90
VPN-000-363-85
VPN-000-362-07
VPN-000-362-91
VPN-000-355-55
VPN-000-368-36
VPN-000-356-90
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试使用全文启用搜索在该表中查找行.

当我做

SELECT (list of columns)
FROM dbo.Entry
WHERE CONTAINS(*, 'VPN-000-362-07')
Run Code Online (Sandbox Code Playgroud)

一切都很好,花花公子,我的行返回.

当我开始使用这样的通配符搜索时:

SELECT (list of columns)
FROM dbo.Entry
WHERE CONTAINS(*, 'VPN-000-362-%')
Run Code Online (Sandbox Code Playgroud)

我收到了结果,一切似乎都很好.

但是:当我这样搜索时:

SELECT (list of columns)
FROM dbo.Entry
WHERE CONTAINS(*, 'VPN-000-36%')
Run Code Online (Sandbox Code Playgroud)

突然间我根本没有得到任何结果.....即使有明显的行匹配搜索条件......

任何想法为什么?? 还有哪些其他"惊喜"全文搜索可供我使用?:-)

更新:创建我使用的全文目录:

CREATE FULLTEXT CATALOG MyCatalog WITH ACCENT_SENSITIVITY = OFF
Run Code Online (Sandbox Code Playgroud)

并且在我的桌子上创建全文索引,我用过

CREATE FULLTEXT INDEX 
ON dbo.Entry(list of columns)
KEY INDEX PK_Entry
Run Code Online (Sandbox Code Playgroud)

我尽力避免任何"古怪"的选择. …

sql-server full-text-search sql-server-2008

10
推荐指数
1
解决办法
1万
查看次数