Aktualizacja indeksu wyszukiwania

Złożone gazety ułożone jedna na drugiej

Indeks, który nie nadąża za treścią, zwraca wyniki opisujące poprzedni stan. To gorsze niż brak wyszukiwania.

Zmiana przyrostowa

Nowy dokument dodawany, zmieniony przeliczany, usunięty wycofywany z indeksu. Przebudowa całości przy każdej zmianie jest niepotrzebna.

Warunkiem jest jednoznaczne powiązanie fragmentu ze źródłem. Bez niego nie da się stwierdzić, które fragmenty pochodzą ze zmienionego pliku, a przy dokumentach ciętych na kilkanaście części to warunek podstawowy. Przy okazji zmiany dokumentu bezpieczniej jest usunąć wszystkie jego fragmenty i wstawić nowe niż próbować dopasować je jeden do jednego.

Osobno traktuje się dopisanie nowego dokumentu, bo nie ma czego usuwać i całość sprowadza się do pocięcia i przeliczenia. To najtańsza z operacji i przy większości zbiorów najczęstsza.

Usuwanie

Najczęściej pomijane. Dokument skasowany, którego fragmenty zostały w indeksie, wraca w wynikach jeszcze miesiącami.

Gorszy wariant to dokument wycofany z obiegu, ale nadal istniejący w źródle. Sam mechanizm go nie odróżni — potrzebna jest informacja o statusie zapisana przy fragmencie i zasada, że treści nieaktualne albo znikają z indeksu, albo są w wynikach wyraźnie oznaczone.

Częstotliwość

Zależna od tempa zmian. Baza wiedzy — kilka razy dziennie. Katalog produktów ze stanami — na bieżąco.

Rozstrzyga koszt błędu, nie wygoda. Nieaktualna instrukcja w bazie wiedzy oznacza stratę czasu jednej osoby. Nieaktualna informacja o dostępności w sklepie oznacza zamówienie na towar, którego nie ma, i reklamację.

Dobrym punktem wyjścia jest pytanie, jak długą rozbieżność między dokumentem a wynikiem wyszukiwania firma godzi się tolerować. Odpowiedź wyznacza harmonogram lepiej niż jakiekolwiek zalecenie ogólne.

Wykrywanie zmian

Powiadomienie ze źródła jest pewniejsze niż porównywanie całości co godzinę. Przy dużych zbiorach to też jedyne rozwiązanie wydajne.

Gdy źródło powiadomień nie wysyła, zostaje porównywanie daty zmiany albo skrótu treści. Trzeba wtedy pamiętać o dwóch pułapkach: dokumenty zmieniane bez zmiany daty i dokumenty, w których zmienia się wyłącznie stopka. Pierwsze umykają aktualizacji, drugie wywołują ją niepotrzebnie.

Co trzeba przygotować

Uprawnienia do odczytu źródła, zapis daty i wersji przy każdym fragmencie oraz miejsce na kolejkę zmian czekających na przetworzenie. Do tego zasada, co się dzieje przy błędzie: dokument nieprzetworzony musi wrócić do kolejki, a nie zniknąć po cichu.

Przeliczenie po zmianie modelu

Wymaga przetworzenia całego zbioru. Przy dużych zbiorach to godziny pracy i koszt, który trzeba przewidzieć.

To samo dotyczy zmiany sposobu podziału, bo osadzenia policzone dla innych fragmentów są bezużyteczne. Robi się to obok działającego indeksu i przełącza po sprawdzeniu jakości — wtedy wyszukiwanie działa przez cały czas przeliczania.

Kontrola spójności

Liczba dokumentów w źródle i w indeksie, porównywana regularnie. Rozjazd wychodzi wtedy wcześnie.

Obok warto pilnować wieku najstarszej niezaktualizowanej pozycji i długości kolejki zmian. Rosnąca kolejka jest pierwszym sygnałem, że przetwarzanie przestało nadążać — przy dużych zbiorach zdarza się to wcześniej, niż wynikałoby z samej liczby dokumentów.