Я использую версию MS SQL Server 2017 DEV с файловой базой данных, и у меня большая база данных с примерно 11.000 PDF-файлами.Некоторые слова отсутствуют в индексе, например слово «Nachtanzdemo».Это слово находится в одном файле PDF несколько раз, но когда я ищу его, SQL Server ничего не показывает.
Итак, я поместил статью из файла PDF с этим словом в документ Word и поместил ее в общий доступный файл.SQL Server неожиданно находит этот документ Word.Так что не так с моим SQL Server?PDF-файлы будут найдены с помощью этой dll:
C:\Windows\system32\glcndFilter.dll
С помощью следующей команды я ищу самые распространенные слова в моей базе данных:
IF NOT OBJECT_ID('tempdb..#mappings') IS NULL
DROP TABLE #mappings;
GO
CREATE TABLE #mappings (docid INT, [key] UNIQUEIDENTIFIER);
GO
USE TK_Filetable
DECLARE @table_id int = OBJECT_ID(N'dbo.FileTable1');
INSERT INTO #mappings (docid, [key])
EXEC sp_fulltext_keymappings @table_id;
SELECT TOP 10
*, kw.display_term, kw.occurrence_count
FROM
sys.dm_fts_index_keywords_by_document(db_id(), @table_id) kw
LEFT JOIN
#mappings map ON kw.document_id = map.docid
LEFT JOIN
[dbo].[FileTable1] FT1 ON map.[key] = FT1.stream_id
ORDER BY
kw.occurrence_count DESC;
И я получаю список немецкого языкаnoisewords, только "der" и "die".
У кого-нибудь есть такие же проблемы?Что я могу сделать, чтобы мой SQL Server нашел все слова?Я перестраивал индекс несколько раз.