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 0544 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

0

Nie jestem pewny czy dobrze nadałem prawa poniżej wrzucam screeny w zalaczniku, a także wyszukiwanie tresci w plikach .txt i .pdf

0

nie widzę uprawnien dla:
NT Service\MSSQL$SERWERBAZYDANYCH i NT Service\MSSQLFDLauncher$SERWERBAZYDANYCH

0

Dodałem uprawnienia i zrestartowałem usługi, niestety w dalszym ciągu mi nie wyszukuję w pdfie.
komendy uzywam takiej:

select * from dbo.filetabela d where contains (d.file_stream,'Autorzy')
0

Gdzieś czytałem że ktoś miał problemy IFilter 11 na SQL 2014 i zadziałało mu z 9, może to rozwiaże twój problem:
ftp://ftp.adobe.com/pub/adobe/acrobat/win/9.x/

0

Probowałem niestety w dalszej części nie działa. (używam sql server 2016)

0

Tu juz chyba więcej nie pomogę, problemem może być wersja systemu:

https://forums.adobe.com/thread/2075959

Masz coś w logach SQL-a?

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