Windows-Suche, die den Inhalt von Textdateien mit der Erweiterung .SQL nicht indiziert


10

Ich habe Probleme, Windows Search dazu zu bringen, den Inhalt einer Textdatei mit einer .sqlErweiterung zu indizieren . Gibt es etwas, was ich falsch mache?

Hintergrund:

Ich verwende bei der Arbeit ein Programm namens Navicat, das mir hilft, mit unserer MySQL-Datenbank zu arbeiten. Wenn ich Navicat zum Bearbeiten und Speichern von Abfragen verwende, werden diese in .sqlDateien gespeichert, die sich im Verzeichnis von Navicat unter Programme befinden.

Da Windows Search Dateien in Programmdateien standardmäßig nicht indiziert, habe ich sie der Liste der indizierten Speicherorte hinzugefügt, wie in der folgenden Abbildung dargestellt:

Geben Sie hier die Bildbeschreibung ein

Ich ging auch in den erweiterten Bereich und fügte die .sqlDateierweiterung hinzu und wählte die Index Properties and File ContentsOption. Dadurch wird die Filterbeschreibung wie folgt festgelegt Plain Text Filter:

Geben Sie hier die Bildbeschreibung ein

Wenn ich jedoch nach Text suche, den ich in einer .sqlDatei erwarten würde , z. B. saw_order.Wo type:sqlwerden keine Dateien zurückgegeben. Die Suche ist erfolgreich, wenn ich nach einem Teil des Namens einer Datei suche , aber niemals nach deren Inhalt mit .sqlDateien.

Die .sqlDateien sind reine Textdateien, die einfach mit dem Editor geöffnet und bearbeitet werden können. Navicat fügt einfach einige Intellisense- und Organisationsfunktionen hinzu, aber ansonsten handelt es sich um einfachen Text.

Warum kann Windows Search den Inhalt dieser Dateien nicht sehen?

Muss ich der Windows-Suche ein spezielles Plug-In hinzufügen, damit diese Dateien erkannt werden?

HINWEIS: Ich verwende Windows Search 4.0 und Windows XP SP3.


Antworten:


7

Es scheint ein Problem mit der Windows-Suche beim Lesen des Dateiformats zu geben, selbst wenn es im Klartext festgelegt ist. Es ist ein bekanntes Problem und wurde sogar hier auf Superuser angesprochen !

Meine beste Empfehlung für den Moment ist die Verwendung eines Programms, das den Inhalt von Dateien durchsuchen kann. Es ist vielleicht nicht so schnell wie die Indizierung, aber hoffentlich kann es die Arbeit für Sie erledigen.

Vier großartige Tools, die ich empfehle:

Agent Ransack (Freeware):

Alt-Text

NirSoft SearchMyFiles (Freeware und tragbar):

Alt-Text

Windows Grep :

Alt-Text

Portable File Seeker (Freeware):

Alt-Text


Danke für die Vorschläge. Ich würde wirklich eine integrierte Lösung bevorzugen, die die Windows-Desktopsuche behebt, aber vielleicht werde ich mir einige der von Ihnen empfohlenen Software ansehen.
Ben McCormack

Obwohl ich es vorgezogen hätte, nur die Windows Desktop-Suche zu korrigieren, schätze ich die Zeit, die Sie für die Bereitstellung einer detaillierten Antwort aufgewendet haben, sehr. Ich muss einige dieser Tools überprüfen. Vielen Dank!
Ben McCormack

Bitteschön!
John T

4

Stellen Sie sicher, dass Sie an dieser Stelle die folgenden Schlüssel in Ihrer Registrierung haben:

Computer\HKEY_CLASSES_ROOT\.sql

[HKEY_CLASSES_ROOT\.sql]
"Content Type"="text/plain"
"PerceivedType"="text"

[HKEY_CLASSES_ROOT\.sql\PersistentHandler]
@="{5E941D80-BF96-11CD-B579-08002B30BFEB}"

Dann neu indizieren.


2

Falls es ein Problem mit der Indizierung selbst gibt, würde ich versuchen, die Suche anzuweisen, den Inhalt nicht indizierter Dateien zu überprüfen.

Gehen Sie zu einem beliebigen Explorer-Fenster und drücken Sie, Altgehen Sie zu Extras> Ordneroptionen und klicken Sie auf die Registerkarte Suchen. Aktivieren Sie die eingekreiste Option:

Geben Sie hier die Bildbeschreibung ein


Ich glaube nicht, dass diese Optionen in Windows XP auf diese Weise angezeigt werden können (es sei denn, sie wurden auf meinem PC durch Gruppenrichtlinien deaktiviert, aber ich bezweifle dies).
Ben McCormack

1

Viele Suchmaschinen benötigen eine Art Modul, das häufig als "Konnektor" bezeichnet wird, um herauszufinden, wie eine Datei zu interpretieren ist.

Ich stelle fest, dass im Screenshot die SQL-Datei als "Nur-Text" aufgeführt ist. Obwohl es sich bei der Datei nur um einfachen Text handelt, kann Windows Search erwarten, dass die SQL-Datei etwas anderes als Text ist, und ignoriert sie einfach.

Um die Hypothese zu testen, erstellen Sie eine Kopie der Datei, ändern Sie die Erweiterung in ".txt" und erzwingen Sie dann eine Neuindizierung.

Noch etwas zu überprüfen, vielleicht mit einem leistungsstärkeren Texteditor (mein Favorit ist gVim - http://www.vim.org/download.php#pc ), um festzustellen , ob sich die anfängliche "magische Zahl" der Datei von a unterscheidet normale Textdatei.


Ich glaube, SharePoint verwendet einen so genannten iFilter, und WDS verwendet möglicherweise dasselbe, obwohl ich nicht sicher bin. Ich habe gVim gemäß Ihrer Empfehlung ausprobiert. Soweit ich es beurteilen konnte, schien sich in den SQL-Dateien nichts von den TXT-Dateien zu unterscheiden. Allerdings habe ich etwas vielleicht nicht richtig angeschaut.
Ben McCormack

Ben McCormack, haben Sie das von mir vorgeschlagene Experiment ausprobiert?
pcapademic

1

Der Artikel Windows XP Search Bug besagt:

Windows XP durchsucht nicht alle Dateien, um die Suchleistung zu verbessern und unnötige Ergebnisse zu vermeiden. Dieses Verhalten tritt unabhängig davon auf, ob Sie den Indizierungsdienst bei der Suche verwenden oder nicht. Daher hat Windows XP ein bekanntes Problem, bei dem eine Reihe von Dateitypen nicht gefunden werden, wenn Sie nach Dateien suchen, die "Text enthalten" oder die Option "Ein Wort oder eine Phrase in der Datei" verwenden.

Dies kann für viele Dateitypen behoben werden, jedoch nicht für alle. Die Ursache ist das Fehlen eines PersistentHandler-Werts in der Registrierung für diesen Dateityp.

Methode 1

Laden Sie dieses VB-Skript herunter (geschrieben von Doug Knox ). Speichern Sie die gerade heruntergeladene Datei auf Ihrer Festplatte. Suchen Sie die gerade gespeicherte Datei und doppelklicken Sie darauf. Geben Sie die Dateierweiterung ein, die Sie ändern möchten. Wenn der Unterschlüssel PersistentHandler vorhanden ist, werden keine Änderungen vorgenommen. Wenn es für den betreffenden Dateityp nicht vorhanden ist, wird die Registrierung entsprechend aktualisiert. Starten Sie neu, wenn Sie mit den Dateitypen fertig sind, die Sie ändern möchten.

Methode 2

MS KB 309173 hat eine weitere Lösung für diesen Fehler. Um Windows XP so zu konfigurieren, dass alle Dateien unabhängig vom Dateityp durchsucht werden, beziehen Sie das neueste Service Pack für Windows XP (derzeit SP2) und aktivieren Sie dann die Option Indexdateitypen mit unbekannten Erweiterungen.

Wenn Sie diese Methode verwenden, durchsucht Windows XP alle Dateitypen nach dem von Ihnen angegebenen Text.

Dies kann die Leistung der Suchfunktion beeinträchtigen. Informationen hierzu finden Sie im obigen Artikel .


Ich schätze Ihren Link zum Artikel, aber keine der Methoden schien zu funktionieren. Ich habe das VB-Skript ausgeführt und der Schlüssel war bereits vorhanden. Ich habe den Registrierungswert gemäß dem Vorschlag in Methode 2 geändert und dann meine Ordner neu indiziert, und es funktioniert immer noch nicht. Möglicherweise beziehen Sie sich auf "Windows-Suche" anstelle von "Windows-Desktopsuche", die für Vista entwickelt, aber auch vor der Veröffentlichung von Vista für XP veröffentlicht wurde.
Ben McCormack

Ich glaube, dass die von mir angegebenen Links im Wesentlichen korrekt sind, da der PersistentHandler für die Erweiterung .sql falsch ist und ersetzt werden muss. Es ist jedoch viel mehr Forschung erforderlich, um es festzunageln.
Harrymc


1

Ich kann mir nur zwei Dinge vorstellen:

  1. Die Dateien selbst wurden noch nicht indiziert (daher werden sie in einem Dateinamensuchbit und nicht in einer Inhaltssuche angezeigt).

  2. Ich schlage auch einen Test vor ... versuchen Sie, einige SQL-Dateien außerhalb Ihres Programmordners zu platzieren und diesen Ordner in die Liste der indizierten Speicherorte aufzunehmen. Möglicherweise liegt ein Berechtigungsproblem für die Ordner in den Programmdateien vor?


Danke für die Vorschläge. Die Datei gibt es schon lange, ebenso wie die Windows-Suche auf meinem PC. Ich werde den gesamten Index neu erstellen und sehen, ob das hilft.
Ben McCormack

Das hat nicht funktioniert: /. Die Indizierung ist abgeschlossen und es werden immer noch keine Übereinstimmungen gefunden.
Ben McCormack
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.