Benutzer mit den meisten Antworten
Volltextindex hat nicht alle Daten

Frage
-
Liebes Forum,
ich nutze den SQL Server 2017 in der DEV Variante auf einem Server 2012 R2 und habe eine File-Table DB angelegt wo ich mein ganzes Zeitungsarchiv (12.000 PDF Dateien) abgelegt habe. Alles ist im Prinzip o.k., er findet viel, aber wenn ich nach bestimmten Begriffen suche, findet der SQL Server nichts. Meine Abfrage ist wie folgt aufgebaut:
SELECT name, last_write_time, rank
FROM dbo.FileTable AS ft INNER JOIN
CONTAINSTABLE(dbo.FileTable, *, ' "Ex-Betriebsratschefs" ')
ON ft.[stream_id] = [KEY]
ORDER BY rank descWenn ich nach diesem Begriff suche findet er nichts, obwohl in 2 Zeitungen dieser Begriff so geschrieben wurde. Anderes Beispiel das Wort "Nachttanzdemo". Der Begriff tauchte in einer Zeitung mehrmals auf, diese PDFs sind durchsuchbar, somit müßte er den Begriff finden, tut er aber nicht. Zum Test habe ich den Artikel mit dem Wort Nachttanzdemo in ein Word Dokument getan und diese Datei in meinen Share abgelegt. Sofort hat der SQL Server das Wort gefunden. Dann habe ich die gleiche Word-Datei als PDF abgespeichert und ebenfalls in den Share abgelegt, Ergebnis: kein Treffer. Ich weiß nicht warum der SQL Server bei der Indexierung so "wählerisch" ist. Kann mir jemand diesbezüglich Tipps geben? Meine DB ist 160 GB groß und mein Index 8 GB. Ich habe den Index schon mehrmals neu aufgebaut, immer komme ich zum selben Ergebnis. Bin für jeden Tipp dankbar.
Ulmo_connect
Antworten
-
Du kannst eine PDF auch mal als Text (Notepad) öffnen und dann nach dem Wort suchen.
PDF ist eine Postscript/Ghostscript-Datei, enthält also neben dem Text jede Menge andere Infos.
Der PDF-Viewer weiß dies und kann daher die Texte suchen und finden.
SQL kennt aber keine PDF-Struktur sondern indiziert die Worte nach entsprechenden Trennzeichen.
Nun wird es so sein, dass dein gesuchtes Wort in der PDF vor und/oder nachher noch weitere Zeichen enthält, die SQL nicht als Trennzeichen erkennt.
Nun kann es daher sein, dass die das Wort in SQL nur findest, wenn du es incl. des Vor-/Nachspannes suchst, falls es überhaupt indiziert wurde.https://blog.sqlauthority.com/2018/02/12/sql-server-full-text-search-not-working-pdf-documents/
- Als Antwort vorgeschlagen Olaf HelperMVP Dienstag, 11. Juni 2019 08:33
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Moderator Dienstag, 2. Juli 2019 08:33
Alle Antworten
-
Du kannst eine PDF auch mal als Text (Notepad) öffnen und dann nach dem Wort suchen.
PDF ist eine Postscript/Ghostscript-Datei, enthält also neben dem Text jede Menge andere Infos.
Der PDF-Viewer weiß dies und kann daher die Texte suchen und finden.
SQL kennt aber keine PDF-Struktur sondern indiziert die Worte nach entsprechenden Trennzeichen.
Nun wird es so sein, dass dein gesuchtes Wort in der PDF vor und/oder nachher noch weitere Zeichen enthält, die SQL nicht als Trennzeichen erkennt.
Nun kann es daher sein, dass die das Wort in SQL nur findest, wenn du es incl. des Vor-/Nachspannes suchst, falls es überhaupt indiziert wurde.https://blog.sqlauthority.com/2018/02/12/sql-server-full-text-search-not-working-pdf-documents/
- Als Antwort vorgeschlagen Olaf HelperMVP Dienstag, 11. Juni 2019 08:33
- Als Antwort markiert Dimitar DenkovMicrosoft contingent staff, Moderator Dienstag, 2. Juli 2019 08:33