Sql server FullTextSearch do pracy z plikami .pdf

0

Witam,

otóż probuję skonfigurować fulltextsearch, wydawało mi się, że wszystko idzię w dobrym kierunku. Niestety po wrzuceniu plików do katalogu FileTable, nie jestem w stanie wyszukiwac treści w plikach z roszerzeniem .pdf, natomiast z .txt już mi szuka. Wydaję mi się, że mogłem coś popsuć z tworzeniem indeksów.

Full-Text Search feature zainstalowany

tworzenie tabeli:

CREATE TABLE dbo.articles(
   id INT IDENTITY(1, 1) NOT NULL,
   content VARBINARY(MAX),
   extension VARCHAR(5),
   title NVARCHAR(255)
);
ALTER TABLE dbo.articles ADD CONSTRAINT PK_articles PRIMARY KEY CLUSTERED (
   id
);

Tworzenie fulltext catalog + Index

CREATE FULLTEXT CATALOG DbaPresentsArticles; 
CREATE FULLTEXT INDEX ON dbo.articles(
   content TYPE COLUMN extension LANGUAGE 1033
)
KEY INDEX PK_articles ON DbaPresentsArticles;

Próba wyszukania w którym pdfie znajduję sie dany text:

SELECT *
FROM dbo.articles
WHERE contains(content,'Ala');

Adobe IFilter 64 bit, sciezka dodana do zmiennej srodowiskowej PATH

0

A co zwraca to zapytanie:

SELECT document_type, path
FROM sys.fulltext_document_types
WHERE document_type = '.pdf'
0

.pdf | C:\AdobeIFilter\bin\PDFFilter.dll

0

A to ustawiałeś:

EXEC sp_fulltext_service @action='load_os_resources', @value=1;
EXEC sp_fulltext_service @action='verify_signature', @value=0;
0

Tak to też miałem ustawione

0

Dla pewności zapytam, co zwraca:

select serverproperty('IsFullTextInstalled')

Dodatkowo czy nadałes uprawnienia do katalogu C:\AdobeIFilter dla użytkownika, na którym jest uruchomiona SQL Servera

0

Zapytanie zwraca 1, co do uprawnien to mam ustawioną pełną kontrolę dla każdego użytkownika w systemie, natomiast do bazy loguję się na konto "sa". Czyli z pełnymi prawami do modyfikacji.

0

Konto na jakie sie logujesz nie ma znaczenia, na jakim koncie działa usługa SQL Server?
/o jakim sysytemie mówimy windows?
Co zwraca:

select @@version

i

SELECT  DSS.servicename,
        DSS.service_account
FROM    sys.dm_server_services AS DSS;
0
  1. komenda
    Microsoft SQL Server 2016 (SP1-GDR) (KB3210089) - 13.0.4202.2 (X64) Dec 13 2016 05:22:44 Copyright (c) Microsoft Corporation Developer Edition (64-bit) on Windows 10 Education 6.3 <X64> (Build 14393: ) (Hypervisor)
  2. komenda
    SQL Server (SERWERBAZYDANYCH) NT Service\MSSQL$SERWERBAZYDANYCH
    SQL Server Agent (SERWERBAZYDANYCH) NT Service\SQLAgent$SERWERBAZYDANYCH
    SQL Full-text Filter Daemon Launcher (SERWERBAZYDANYCH) NT Service\MSSQLFDLauncher$SERWERBAZYDANYCH

Dodam, że otworzyłem pdf za pomocą notepad++ i znalazłem w miare poprawne wyrazy (nie szlacki) i starałem się wyszukać danego wyrazu za pomocą podzapytania.Niestety nie zwróciło mi informacji w którym pliku jest dany wyraz.

0

Nadaj uprawnienia do katalogu adobeifilter dla kont z kolumny service_account, pomin sql agent. Zrestartuj usługę sqla i zobacz czy cos da

1 użytkowników online, w tym zalogowanych: 0, gości: 1