Immich zwykle przestaje zwracać możliwe do wyszukania prywatne zdjęcia po ponownym uruchomieniu, ponieważ Smart Search utracił ścieżkę uczenia maszynowego, nie zakończył jeszcze przygotowywania modelu albo nie może ukończyć zadań i odczytów pamięci masowej potrzebnych do utworzenia wektorów wyszukiwania.
Jeśli oś czasu nadal pokazuje oryginały, zdjęcia prawdopodobnie nie zniknęły — niekompletna jest warstwa wyszukiwania. Najpierw potraktuj pusty wynik jako problem ze ścieżką usługi, zachowaj bazę danych i bibliotekę przesłanych plików, a następnie ustal, czy przyczyną jest niedostępny kontener uczenia maszynowego, opóźnione zadania, niezgodny punkt końcowy czy błąd uprawnień do trwałej ścieżki, zanim cokolwiek przebudujesz.
Oddziel brak wyników wyszukiwania od braku zdjęć
Przed przetestowaniem wyszukiwania otwórz bezpośrednio kilka znanych zasobów z osi czasu, albumów i prywatnej biblioteki. Sukces oznacza, że baza danych może znaleźć rekordy, a Immich może odczytać pliki; niepowodzenie oznacza szerszy incydent dotyczący biblioteki lub pamięci masowej — w takim przypadku przerwij zmiany związane wyłącznie z wyszukiwaniem i zabezpiecz dotknięte ścieżki.
Wykonaj trzy powtarzalne wyszukiwania: termin, który wcześniej działał, oczywisty wizualnie termin oraz niedawno przesłany zasób po zakończeniu jego zadań w tle. Zapisz, czy wyniki są puste, nieaktualne czy ograniczone do starszych zdjęć. Pozwoli to odróżnić całkowitą awarię punktu końcowego od zaległości w indeksowaniu.
Wątek społeczności zawiera zestaw kontroli Smart Search związanych z ponownym uruchomieniem, w tym sprawdzenie dostępności punktu końcowego i ponowne uruchamianie zadań. Użyj jego sekwencji diagnostycznej warstwy wyszukiwania jako materiału dowodowego dla tego przypadku, a nie jako powodu do usunięcia bazy danych lub ponownego generowania danych dla każdego zasobu.
Sprawdź ścieżkę uczenia maszynowego po ponownym uruchomieniu
Sprawdź stan serwera i kontenera uczenia maszynowego, a następnie przetestuj skonfigurowany adres URL uczenia maszynowego z przestrzeni nazw sieciowej, która go wywołuje. Dostępny punkt końcowy, który poprawnie obsługuje żądania modelu, oznacza zaliczenie tej gałęzi; odmowa połączenia, błąd rozpoznawania nazwy lub niezdrowy kontener wskazuje ścieżkę usługi wymagającą naprawy.
Porównaj wdrożoną nazwę usługi, port, wartość środowiskową, wersję obrazu i członkostwo w sieci z ostatnią poprawną definicją Compose. Po skorygowaniu niezgodności odtwórz wyłącznie dotknięty kontener. Samo ponowne uruchomienie nie zastępuje nieaktualnej konfiguracji środowiska kontenera, dlatego potwierdź efektywną wartość w odtworzonym obciążeniu.
W zgłoszonym przypadku Immich v2.6.1 nieudane działanie Smart Search powiązano z niezdrowym kontenerem uczenia maszynowego. Raport awarii dotyczący konkretnej wersji uzasadnia sprawdzenie stanu i logów, ale nie dowodzi, że każda awaria po ponownym uruchomieniu jest wynikiem tej regresji.
Sprawdź gotowość modelu, zadania i trwałe ścieżki
Obserwuj logi uczenia maszynowego podczas wysyłania jednego znanego wyszukiwania. Pierwsze żądanie może ładować lub pobierać model i tymczasowo zużywać więcej pamięci; postęp zakończony pomyślną odpowiedzią oznacza zaliczenie. Powtarzające się usuwanie modelu z pamięci, zakończenie z powodu braku pamięci lub nieudane pobieranie wskazuje na konieczność naprawy pamięci, trwałości pamięci podręcznej lub sieci.
Sprawdź liczbę zadań Smart Search i ostatnie błędy, nie usuwając ich. Jeśli punkt końcowy działa, ale zadania nadal są nieudane lub oczekujące, ponów niewielką, kontrolowaną partię i obserwuj, czy liczba zadań maleje. Jeśli jeden zasób zostanie przetworzony pomyślnie, napraw współbieżność procesów roboczych lub niesprawną zależność przed zaplanowaniem pełnego ponownego indeksowania.
Potwierdź, że baza danych, biblioteka przesłanych plików i pamięć podręczna modelu są zamontowane we właściwych trwałych ścieżkach oraz mają oczekiwaną tożsamość. Powiązany przewodnik ZimaSpace dotyczący działania rozpoznawania Immich pomaga odróżnić zakres dostępu i indeksowania od braku oryginału.
Zastosuj dopasowaną poprawkę i przetestuj dwa ponowne uruchomienia
Skoryguj wyłącznie potwierdzoną przyczynę: przywróć nazwę punktu końcowego, odtwórz kontener z właściwą konfiguracją środowiska, zapewnij trwałość pamięci podręcznej modelu, zmniejsz zmierzoną współbieżność, napraw właściciela lub ponów nieudane zadania Smart Search. Zachowaj poprzedni plik Compose i kopię zapasową bazy danych; nie usuwaj wektorów jako pierwszej reakcji.
Ponownie przetestuj te same trzy zapytania, jeden stary zasób i jedno nowe przesłanie. Zaliczenie wymaga użytecznych wyników, zmniejszającej się kolejki zadań, dostępnych do odczytu oryginałów i stabilnego stanu uczenia maszynowego. Uruchom ponownie stos w zwykłej kolejności zależności i powtórz test, a następnie raz uruchom ponownie hosta, aby potwierdzić, że montowania i rozpoznawanie nazw przetrwają uruchamianie systemu.
Wycofaj zmiany, jeśli liczba wyników się zmniejszy, oryginały staną się nieczytelne lub baza danych zgłosi błędy spójności. Jeśli po dwóch ponownych uruchomieniach ta sama awaria powróci, przekaż do dalszej analizy wersję Immich, efektywny punkt końcowy, stan kontenera, odpowiednie logi, liczbę zadań, nazwę modelu i mapowania montowań; zachowaj starą instancję z działającym wyszukiwaniem w izolacji, ale z możliwością odzyskania.
Wsparcie i wskazówki
Więcej do przeczytania

Jak zoptymalizować połączenia z bazą danych Immich dla równoczesnych kontenerów
Nie zwiększaj najpierw wartości max_connections. Zmierz sesje Immich, zsumuj zapotrzebowanie wszystkich kontenerów, zachowaj rezerwę dla administratora i dostosuj tylko faktycznie potwierdzone wąskie gardło.

Jak zapobiegać duplikowaniu zadań lub importów w Immich
Oddziel powtarzające się zadania od zduplikowanych zasobów. Użyj jednej kanonicznej ścieżki pozyskiwania danych, kontroluj ponowne próby i zmiany ścieżek, a następnie przetestuj ponowne wprowadzanie...

Jak naprawić Immich po zapełnieniu woluminu bazy danych
Nigdy nie usuwaj dziennika WAL PostgreSQL, aby zwolnić miejsce. Zatrzymaj operacje zapisu w Immich, zachowaj stan bazy danych, bezpiecznie zwiększ pojemność, odzyskaj działanie PostgreSQL,...

