My Life My Dream!

守信 求实 好学 力行
随笔 - 193, 文章 - 0, 评论 - 55, 阅读 - 34万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

研究一下全文索引

Posted on   召冠  阅读(160)  评论(0编辑  收藏  举报

以前只是听说,并没有试过,今天算是个开头.

--创建一个唯一索引
CREATE UNIQUE INDEX ix_tUser_vUserName ON [tUser]
(
 vUserName ASC
)
GO

--打开数据库全文索引的支持
execute sp_fulltext_database 'enable'
GO

--建立全文目录ft_UserName
execute sp_fulltext_catalog 'ft_UserName', 'create'
GO

--为titles表建立全文索引数据元,IX_tUser_vUserName是唯一索引,可由sp_help IX_tUser_vUserName得知
execute sp_fulltext_table 'tUser','create', 'ft_UserName', 'IX_tUser_vUserName'
GO

--设置全文索引列名
exec sp_fulltext_column 'tUser', 'vUserName', 'add'
GO

--建立全文索引
exec sp_fulltext_table 'tUser', 'activate'
GO

--填充全文索引目录
exec sp_fulltext_catalog 'ft_UserName', 'start_full'
GO


--使用contains和freetext

SELECT *
FROM [tUser]
WHERE CONTAINS([vUserName], '"wang*"')

SELECT *
FROM [tUser]
WHERE FREETEXT(*, 'wangzg admin')

--DROP FULLTEXT CATALOG ft_UserName
--DROP FULLTEXT INDEX  ON tuser

================================================================================
后续:
没想到上面的存储过程的方式早就过时了,唉,真是误人子弟!

CREATE FULLTEXT CATALOG ftCatalog_elWeb AS DEFAULT;
GO
CREATE FULLTEXT INDEX ON tUser(vUserName) KEY INDEX pk_tUser;
GO

ALTER FULLTEXT INDEX ON [dbo].[tUser] add ([vNickName])
GO

ALTER FULLTEXT INDEX ON [dbo].[tUser] DROP ([vNickName])
GO

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示