| Termin | Definicja |
|---|---|
| SQL Server Full-Text Search | Full-Text Search to funkcja umożliwiająca zaawansowane wyszukiwanie tekstowe w kolumnach objętych indeksem. Rola Full-Text Search w silniku SQL ServerSQL Server Full-Text Search jest mechanizmem wyszukiwania treści tekstowej przechowywanej w kolumnach tabel. Działa na podstawie osobnego indeksu pełnotekstowego, który analizuje słowa, ich położenie oraz wybrane właściwości językowe. Rozwiązanie jest przeznaczone przede wszystkim do wyszukiwania dokumentów, opisów, komentarzy, wiadomości i innych większych fragmentów tekstu, dla których zwykłe porównanie za pomocą operatora Indeks pełnotekstowy nie zastępuje zwykłych indeksów relacyjnych. Jest utrzymywany przez komponent Full-Text Engine i korzysta między innymi z dzielników wyrazów, analizatorów odmian oraz list słów pomijanych. W konfiguracji SQL Server indeks jest powiązany z konkretną tabelą i kolumnami typu obsługiwanego przez wyszukiwanie pełnotekstowe, na przykład Indeks, katalog i przebudowa zawartościDo utworzenia indeksu pełnotekstowego SQL Server wymaga unikatowego, jednoznacznego klucza w tabeli. Zwykle jest to klucz główny albo inny unikatowy indeks złożony z jednej kolumny. Klucz ten pozwala powiązać znaleziony fragment tekstu z właściwym wierszem tabeli. Definicja indeksu określa również kolumny objęte wyszukiwaniem, język analizy oraz opcjonalną listę słów pomijanych, czyli stoplistę. Jeden indeks pełnotekstowy może obejmować kilka kolumn tej samej tabeli. Indeksy pełnotekstowe są przechowywane w katalogach pełnotekstowych. Po utworzeniu indeksu SQL Server wykonuje populację początkową, podczas której odczytuje dane i buduje strukturę wyszukiwania. Późniejsze zmiany mogą być śledzone automatycznie przez mechanizm change tracking albo uwzględniane podczas populacji uruchamianej ręcznie. Dostępne tryby śledzenia to między innymi Predykaty CONTAINS i FREETEXT w zapytaniachSQL Server udostępnia dwa podstawowe predykaty do wyszukiwania pełnotekstowego.
Diagnostyka opóźnionych lub niepełnych wynikówJeżeli nowo zapisany tekst nie pojawia się w wynikach, pierwszym krokiem jest sprawdzenie, czy indeks pełnotekstowy istnieje dla właściwej tabeli i kolumny oraz czy działa śledzenie zmian. Następnie należy ustalić, czy trwa populacja początkowa, pełna lub przyrostowa. Dane mogą być już zapisane w tabeli, lecz jeszcze nieprzetworzone przez indeks. Warto także zweryfikować, czy wyszukiwane słowo nie znajduje się na stopliście, nie jest traktowane jako zbyt częste albo nie zostało zmienione przez reguły dzielenia wyrazów i analizy fleksyjnej. Niepełne wyniki mogą wynikać również z użycia niewłaściwego predykatu. |