Mam tę tabelę bazy danych, która powinna aktualizować indeks pełnotekstowy. Jednak w ogóle nie widzę, aby się to działo (brak błędu w dzienniku, ponieważ ostatni dziennik, który widzę, był wtedy, gdy uruchomiłem go ręcznie).
Oto, co widzę ...
ale na samym stole ...
Czy może dlatego nie dzieje się to automatycznie?
(..\MSSQL\Log\SQLFT*)
Odpowiedzi:
Patrzysz w złe miejsce.
Musisz sprawdzić, jak poniżej:
Korzystanie z T-SQL ..
Po zakończeniu możesz sprawdzić status ostatniej wypełnionej daty / godziny
Wstaw trochę danych ..
Teraz zobaczysz, że Katalog FT został zaktualizowany.
W logach (
..\MSSQL\Log\SQLFT*
) również poniżej pojawi się komunikat ...Z BOL :
Zobacz też Poprawianie wydajności indeksów pełnotekstowych
źródło
Issue I am looking at is why it doesn't seem to update at all until I manually rebuild the index.
ustawiłeś to zgodnie z tym, co pokazałem. Jeśli jest wiele zmian, to zajmie to trochę czasu, ponieważThe full-text index is updated in the background, however, so propagated changes might not be reflected immediately in the index.
Z jakiegoś powodu indeksator pełnotekstowy przestał automatycznie wypełniać jedną z moich baz danych SQL 2012 po przejęciu repliki bazy danych drugorzędnej grupy dostępności i stał się repliką podstawową.
Po usunięciu indeksu pełnotekstowego i ponownym utworzeniu go na stole z włączonym automatycznym wypełnianiem, zaczął on ponownie automatycznie wypełniać. Do odtworzenia indeksu użyłem SQL Management Studio i kreatora tworzenia indeksu pełnotekstowego.
Martwiłem się, jak długo zajmie pełne indeksowanie danych. Byłem mile zaskoczony, że ponowneindeksowanie 3 kolumn tekstowych z tabeli z 547619 rekordami zajęło tylko około 5 minut.
Ustawienia śledzenia zmian na poziomie tabeli, o których mowa w pytaniu, pozostały wyłączone. Tak więc śledzenie zmian indeksu pełnotekstowego zdecydowanie różni się od ustawienia śledzenia zmian tabeli. NIE musisz mieć włączonego śledzenia zmian tabeli, aby funkcja automatycznego śledzenia zmian pełnego indeksowania tekstu i indeksowania pełnego tekstu działała.
Uruchomienie następującego zapytania z bazy danych ujawni, kiedy indeksator pełnego tekstu uruchomił indeksowanie.
Gdy funkcja automatycznego wypełniania jest włączona, data crawl_end_date powinna się zmienić po wstawieniu danych do tabeli.
Zauważysz również, że po uruchomieniu zapytania korzystającego z indeksu pełnotekstowego zostaną wyświetlone najnowsze dane:
Dodatkowe referencje:
Artykuł opisujący różne metody wyszukiwania pełnotekstowego: https://msdn.microsoft.com/en-us/library/ms142575%28v=sql.100%29.aspx
Informacje na temat wysyłania zapytań do tabeli indeksowanej pełnego tekstu: https://technet.microsoft.com/en-us/library/ms142571(v=sql.110).aspx#queries
Artykuł na temat architektury wyszukiwania pełnotekstowego: https://technet.microsoft.com/en-us/library/ms142571(v=sql.110).aspx#architecture
źródło