SQL 服务器全文搜索无法处理 PDF 文件
SQL Server Full-Text Search not working on PDF File
我的全文搜索适用于 doc 和 docx,但不适用于 pdf。过滤器具有 pdf 完整路径:C:\WINDOWS\system32\Windows.Data.Pdf.dll
版本:6.2.19041.1023
告诉我可能是什么问题?
CREATE TABLE [dbo].[FilesSearch](
[id] [bigint] IDENTITY(1,1) NOT NULL,
[rConclusionCard] [bigint] NOT NULL,
[rConclusionCardFile] [bigint] NOT NULL,
[FileAgreementContent] [varbinary](max) NOT NULL,
[FileAgreementName] [nvarchar](255) NOT NULL,
[FileExt] AS (lower(reverse(substring(reverse([FileAgreementName]),(0),charindex('.',reverse([FileAgreementName]))+(1))))),
CONSTRAINT [PK_ASM_CONCLUSIONCARD_FILESSEA] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/****** Object: Index [UI_ConclusionCardFile] Script Date: 13.03.2022 22:07:57 ******/
CREATE UNIQUE NONCLUSTERED INDEX [UI_ConclusionCardFile] ON [dbo].[FilesSearch]
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: FullTextIndex Script Date: 13.03.2022 22:07:57 ******/
CREATE FULLTEXT INDEX ON [dbo].[FilesSearch](
[FileAgreementContent] TYPE COLUMN [FileExt] LANGUAGE 'Russian')
KEY INDEX [UI_ConclusionCardFile]ON ([FTConclusionFileSearch], FILEGROUP [PRIMARY])
WITH (CHANGE_TRACKING = AUTO, STOPLIST = SYSTEM)
CREATE FULLTEXT CATALOG [FTConclusionFileSearch] WITH ACCENT_SENSITIVITY = ON
AUTHORIZATION [dbo]
您的 FileExt
专栏似乎有点不对,正在添加 .
。所以从中删除 + 1
。
[FileExt] AS (lower(reverse(substring(reverse([FileAgreementName]),(0),charindex('.',reverse([FileAgreementName])))))),
然后重建索引
ALTER FULLTEXT CATALOG FTConclusionFileSearch REBUILD;
我的全文搜索适用于 doc 和 docx,但不适用于 pdf。过滤器具有 pdf 完整路径:C:\WINDOWS\system32\Windows.Data.Pdf.dll 版本:6.2.19041.1023 告诉我可能是什么问题?
CREATE TABLE [dbo].[FilesSearch](
[id] [bigint] IDENTITY(1,1) NOT NULL,
[rConclusionCard] [bigint] NOT NULL,
[rConclusionCardFile] [bigint] NOT NULL,
[FileAgreementContent] [varbinary](max) NOT NULL,
[FileAgreementName] [nvarchar](255) NOT NULL,
[FileExt] AS (lower(reverse(substring(reverse([FileAgreementName]),(0),charindex('.',reverse([FileAgreementName]))+(1))))),
CONSTRAINT [PK_ASM_CONCLUSIONCARD_FILESSEA] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
/****** Object: Index [UI_ConclusionCardFile] Script Date: 13.03.2022 22:07:57 ******/
CREATE UNIQUE NONCLUSTERED INDEX [UI_ConclusionCardFile] ON [dbo].[FilesSearch]
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: FullTextIndex Script Date: 13.03.2022 22:07:57 ******/
CREATE FULLTEXT INDEX ON [dbo].[FilesSearch](
[FileAgreementContent] TYPE COLUMN [FileExt] LANGUAGE 'Russian')
KEY INDEX [UI_ConclusionCardFile]ON ([FTConclusionFileSearch], FILEGROUP [PRIMARY])
WITH (CHANGE_TRACKING = AUTO, STOPLIST = SYSTEM)
CREATE FULLTEXT CATALOG [FTConclusionFileSearch] WITH ACCENT_SENSITIVITY = ON
AUTHORIZATION [dbo]
您的 FileExt
专栏似乎有点不对,正在添加 .
。所以从中删除 + 1
。
[FileExt] AS (lower(reverse(substring(reverse([FileAgreementName]),(0),charindex('.',reverse([FileAgreementName])))))),
然后重建索引
ALTER FULLTEXT CATALOG FTConclusionFileSearch REBUILD;