我有一个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)
我尽力避免任何"古怪"的选择. …