Wyszukiwarka Windows nie indeksuje zawartości plików tekstowych z rozszerzeniem .SQL

10

Mam problem z uzyskaniem przez wyszukiwarkę Windows indeksu zawartości pliku tekstowego z .sqlrozszerzeniem. Czy coś robię źle?

Tło:

Korzystam z programu o nazwie Navicat, który pomaga mi pracować z naszą bazą danych MySQL. Kiedy używam Navicat do edycji i zapisywania zapytań, zapisuje je w .sqlplikach znajdujących się w katalogu Navicat w Program Files.

Ponieważ Windows Search domyślnie nie indeksuje plików w Program Files, dodałem go do listy indeksowanych lokalizacji, jak pokazano na poniższym obrazku:

wprowadź opis zdjęcia tutaj

Przeszedłem również do sekcji zaawansowanej, dodałem .sqlrozszerzenie pliku i wybrałem Index Properties and File Contentsopcję. Ustawia to opis filtra na Plain Text Filter:

wprowadź opis zdjęcia tutaj

Jednak za każdym razem, gdy szukam tekstu, który spodziewałbym się znaleźć w .sqlpliku, na przykład saw_order.Wo type:sqlnie zwraca żadnych plików. Wyszukiwanie jest udane, jeśli szukam część nazwy pliku, ale nigdy jej zawartość z .sqlplików.

Te .sqlpliki to pliki tekstowe, które można łatwo otwierać i edytować w notatniku. Navicat po prostu dodaje inteligencję i funkcje organizacji, ale poza tym jest to zwykły tekst.

Dlaczego wyszukiwarka Windows nie może zobaczyć zawartości tych plików?

Czy muszę dodać specjalną wtyczkę do wyszukiwania systemu Windows, aby rozpoznać te pliki?

UWAGA: Używam Windows Search 4.0 i Windows XP SP3.

Ben McCormack
źródło
Zobacz także superuser.com/questions/77772/...
RJFalconer,

Odpowiedzi:

7

Wygląda na to, że jest problem z odczytem formatu pliku przez Windows Search, nawet jeśli jest ustawiony jako zwykły tekst. Jest to znany problem, który pojawił się nawet tutaj w Superuser !

Moja najlepsza rekomendacja to na razie skorzystanie z programu, który może przeszukiwać zawartość plików. Może to nie być tak szybkie, jak ich indeksowanie, ale mam nadzieję, że może to zrobić zadanie dla Ciebie.

Cztery świetne narzędzia, które polecam:

Agent Ransack (darmowy):

alternatywny tekst

NirSoft SearchMyFiles (darmowy i przenośny):

alternatywny tekst

Windows Grep :

alternatywny tekst

Portable File Seeker (darmowy):

alternatywny tekst

John T.
źródło
Dziękuję za sugestie. Naprawdę wolałbym zintegrowane rozwiązanie, które naprawia Windows Desktop Search, ale być może przyjrzę się oprogramowaniu, które poleciłeś.
Ben McCormack
Chociaż wolałbym po prostu naprawić wyszukiwanie pulpitu systemu Windows, naprawdę doceniam czas poświęcony na udzielenie szczegółowej odpowiedzi. Będę musiał sprawdzić niektóre z tych narzędzi. Wielkie dzięki!
Ben McCormack
Nie ma za co!
John T
4

Upewnij się, że w rejestrze znajdują się następujące klucze:

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}"

Następnie powtórz indeks.

John G Tesmer
źródło
2

W przypadku problemów z samym indeksowaniem, spróbuję powiedzieć wyszukiwarce, aby spojrzała na zawartość plików nieindeksowanych.

Przejdź do dowolnego okna Eksploratora i naciśnij, Alta następnie przejdź do Narzędzia> Opcje folderów i kliknij kartę Wyszukaj, zaznacz zaznaczoną opcję:

wprowadź opis zdjęcia tutaj

William Hilsum
źródło
Nie sądzę, aby te opcje były widoczne w ten sposób w systemie Windows XP (chyba że zostało wyłączone na moim komputerze przez zasady grupy, ale wątpię).
Ben McCormack
1

Wiele wyszukiwarek potrzebuje jakiegoś modułu, często nazywanego „łącznikiem”, aby dowiedzieć się, jak interpretować plik.

Zauważam, że na zrzucie ekranu plik SQL jest wymieniony jako „Zwykły tekst”. Mimo że plik jest zwykłym tekstem, Windows Search może oczekiwać, że plik .sql będzie inny niż tekst i po prostu go zignoruje.

Aby przetestować hipotezę, wykonaj kopię pliku, zmień rozszerzenie na „.txt”, a następnie wymuś ponowne indeksowanie.

Coś jeszcze do sprawdzenia, być może z bardziej wydajnym edytorem tekstu (moim ulubionym jest gVim - http://www.vim.org/download.php#pc ), aby sprawdzić, czy początkowa „magiczna liczba” pliku jest inna niż normalny plik tekstowy.

pcapademic
źródło
Wierzę, że SharePoint używa czegoś o nazwie iFilter, a WDS może używać tego samego, choć nie jestem pewien. Wypróbowałem gVim zgodnie z twoją rekomendacją. Z tego, co mogłem powiedzieć, nic nie wyglądało inaczej w plikach .sql w porównaniu z plikami .txt. Być może jednak nie spojrzałem na coś poprawnie.
Ben McCormack
Ben McCormack, czy próbowałeś eksperymentu, który zasugerowałem?
pcapademic
1

Artykuł błędu wyszukiwania systemu Windows XP :

System Windows XP nie przeszukuje wszystkich plików w celu zwiększenia wydajności wyszukiwania i uniknięcia niepotrzebnych wyników. Takie zachowanie występuje bez względu na to, czy podczas wyszukiwania korzystasz z usługi indeksowania. Dlatego w systemie Windows XP występuje znany problem polegający na tym, że nie można znaleźć wielu typów plików podczas wyszukiwania plików „zawierających tekst” lub korzystania z opcji „Słowo lub fraza w pliku”.

Można temu zaradzić w przypadku wielu typów plików, ale nie wszystkich. Przyczyną jest brak wartości PersistentHandler w rejestrze dla tego typu plików.

Metoda nr 1

Pobierz skrypt VB (napisany przez Douga Knoxa ). Zapisz właśnie pobrany plik na dysk twardy. Znajdź właśnie zapisany plik i kliknij go dwukrotnie. Wprowadź rozszerzenie pliku, które chcesz zmodyfikować. Jeśli podklucz PersistentHandler istnieje, nie zostaną wprowadzone żadne zmiany. Jeśli nie istnieje dla danego typu pliku, rejestr zostanie odpowiednio zaktualizowany. Uruchom ponownie, gdy skończysz z typami plików, które chcesz zmienić.

Metoda nr 2

MS KB 309173 ma kolejną poprawkę tego błędu. Aby skonfigurować system Windows XP do wyszukiwania wszystkich plików bez względu na typ pliku, uzyskaj najnowszy dodatek Service Pack dla systemu Windows XP (obecnie SP2), a następnie włącz opcję Typy plików indeksu z nieznanymi rozszerzeniami.

Jeśli użyjesz tej metody, system Windows XP przeszuka wszystkie typy plików pod kątem określonego tekstu.

Może to wpłynąć na wydajność funkcji wyszukiwania. Aby to zrobić, zobacz wskazówki w powyższym artykule .

harrymc
źródło
Doceniam twój link do artykułu, ale żadna z metod nie działała. Uruchomiłem skrypt VB i klucz już istniał. Zmieniłem wartość rejestru zgodnie z sugestią w metodzie nr 2, a następnie ponownie zindeksowałem moje foldery i nadal nie działa. Być może to, o czym mówisz, to „Windows Search” zamiast „Windows Desktop Search”, który został opracowany dla Visty, ale wydany również dla XP przed wydaniem Visty.
Ben McCormack
Uważam, że linki, które podałem, są zasadniczo poprawne, ponieważ PersistentHandler dla rozszerzenia .sql jest nieprawidłowy i należy go wymienić. Jednak potrzeba dużo więcej badań, aby to naprawić.
harrymc
1

Mogę myśleć tylko o dwóch rzeczach:

  1. Pliki nie zostały jeszcze zindeksowane (więc pojawiają się w bicie wyszukiwania nazwy pliku, a nie w wyszukiwaniu treści)

  2. Proponuję również test ... spróbuj umieścić niektóre pliki SQL poza folderem Program Files i umieść ten folder na liście indeksowanych lokalizacji. Może występuje problem z uprawnieniami do folderów w Program Files?

Bez butów
źródło
Dziękuję za sugestie. Plik istnieje już od dłuższego czasu, podobnie jak Windows Search na moim komputerze. Odbuduję cały indeks i zobaczę, czy to pomoże.
Ben McCormack,
To nie zadziałało: /. Indeksowanie jest zakończone i nadal nie można znaleźć żadnych dopasowań.
Ben McCormack,