Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Przenoszenie pełnotekstowych indeksów

Termin Definicja
Przenoszenie pełnotekstowych indeksów

Przenoszenie indeksów pełnotekstowych wymaga ich odtworzenia na docelowej instancji, nie samego kopiowania plików.

Na czym polega przenoszenie indeksów pełnotekstowych

Indeks pełnotekstowy jest strukturą pomocniczą tworzoną na podstawie zawartości kolumn tekstowych. Silnik bazy danych analizuje tekst, rozdziela go na słowa lub tokeny, pomija elementy uznane za nieprzydatne w wyszukiwaniu i zapisuje informacje pozwalające szybko odnaleźć rekordy pasujące do zapytania. Taka struktura nie jest zwykłym plikiem, który można bezpiecznie skopiować do innej instalacji. Jej format zależy od konkretnego silnika, wersji oprogramowania, schematu bazy, ustawień językowych oraz wewnętrznych metadanych.

Podczas migracji przenosi się więc przede wszystkim definicję indeksu i dane źródłowe, a następnie odtwarza indeks na instancji docelowej. Definicja określa między innymi tabelę, kolumny objęte wyszukiwaniem, sposób interpretacji tekstu oraz ewentualne pola używane do identyfikowania rekordów. Jeżeli do miejsca docelowego zostaną skopiowane tylko pliki należące do starej bazy, nowa instancja może nie rozpoznać indeksu, oznaczyć go jako uszkodzony albo zwracać wyniki niezgodne z aktualną zawartością tabel.

Warunki zgodności przed odbudową struktury

Przed rozpoczęciem odtwarzania należy sprawdzić zgodność schematu. Tabela docelowa powinna mieć te same kolumny tekstowe, typy danych i identyfikatory rekordów, które były wykorzystywane przez indeks źródłowy. Ważne jest także zachowanie relacji między tabelami, jeśli wyszukiwanie opiera się na widoku, funkcji lub innym obiekcie zależnym. Zmiana nazwy kolumny, usunięcie pola albo przekształcenie danych z tekstu na typ nieobsługiwany przez dany mechanizm pełnotekstowy może uniemożliwić utworzenie indeksu.

Równie istotne są ustawienia językowe. Analizator pełnotekstowy może stosować stemming, czyli sprowadzanie wyrazów do wspólnej podstawy, listę słów pomijanych oraz reguły rozpoznawania granic słów. Dla tekstu polskiego znaczenie ma między innymi poprawne rozpoznawanie odmiany wyrazów, znaków diakrytycznych i apostrofów. Jeżeli na serwerze docelowym użyto innego języka, kolacji, zestawu słów pomijanych lub konfiguracji analizatora, identyczne zapytanie może zwrócić inny zestaw rekordów. Przed migracją trzeba zatem porównać te parametry, a różnice udokumentować i uwzględnić w planie odbudowy.

Odtworzenie i kontrola wyników wyszukiwania

Bezpieczna procedura obejmuje wykonanie kopii zapasowej danych, odtworzenie bazy na instancji docelowej, utworzenie wymaganych obiektów schematu oraz zbudowanie indeksu pełnotekstowego na podstawie aktualnych rekordów. Kolejność ma znaczenie. Jeżeli indeks zostanie zdefiniowany przed załadowaniem danych, silnik może przeprowadzić długie uzupełnianie struktury podczas importu. W innych konfiguracjach korzystniejsze jest załadowanie danych, wykonanie kontroli spójności, a dopiero potem jednorazowa odbudowa indeksu. Wybór zależy od możliwości konkretnego silnika i rozmiaru zbioru.

Po zakończeniu odbudowy należy wykonać testy funkcjonalne. Powinny obejmować wyszukiwanie słów występujących w wielu rekordach, fraz, odmian gramatycznych, znaków diakrytycznych, słów pomijanych oraz pustych lub bardzo krótkich wartości. Wyniki z instancji źródłowej i docelowej warto porównać dla tego samego zestawu zapytań. Trzeba także sprawdzić liczbę znalezionych rekordów, kolejność wyników, wartości punktacji oraz zachowanie zapytań wykonywanych przez aplikację. Sama informacja, że indeks został utworzony bez komunikatu błędu, nie potwierdza poprawności działania.

Kontroli wymaga również wydajność. Odbudowa może obciążyć procesor, pamięć masową i operacje wejścia-wyjścia, a indeks może zająć dodatkową przestrzeń. Po migracji należy obserwować czas odpowiedzi zapytań, blokady oraz ewentualne komunikaty o nieprzetworzonych dokumentach. Jeśli dane zmieniały się w trakcie kopiowania, konieczna jest synchronizacja końcowa albo ponowne przetworzenie zmienionych rekordów. W przeciwnym razie indeks może przedstawiać stan starszy niż tabela, mimo że sama struktura formalnie istnieje.

Diagnostyka problemów po migracji

Brak wyników po przeniesieniu nie zawsze oznacza uszkodzenie danych. Przyczyną może być niezgodny język analizatora, inna lista słów pomijanych, zmieniona kolacja, brak uprawnień do odczytu kolumny albo nieukończone przetwarzanie indeksu. Należy oddzielić problemy z danymi źródłowymi od problemów z definicją indeksu. Pomocne jest porównanie kilku konkretnych rekordów, sprawdzenie ich rzeczywistej treści oraz wykonanie zapytań kontrolnych niezależnych od interfejsu aplikacji.

Jeżeli wyniki są niepełne, trzeba ustalić, czy wszystkie rekordy zostały uwzględnione i czy aplikacja odwołuje się do właściwej tabeli oraz właściwej instancji. Warto sprawdzić dzienniki silnika, status procesu odbudowy i komunikaty dotyczące odrzuconych wartości. Ponowna odbudowa może usunąć niespójność, ale nie naprawi błędnej definicji ani niezgodnych ustawień językowych. Przy diagnostyce laptopa lub komputera, na którym działa narzędzie bazodanowe, analizuje się także połączenie, konfigurację klienta, dostępne miejsce na dysku i stabilność systemu, ponieważ te elementy mogą przerwać migrację lub zniekształcić jej rezultat.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę