ZMIENIĆ indeks PEŁNOTEKSTOWY (Transact-SQL)
Zmienia właściwości indeksu pełnotekstowego.
Składnia
ALTER FULLTEXT INDEX ON table_name
{ ENABLE
| DISABLE
| SET CHANGE_TRACKING { MANUAL | AUTO | OFF }
| ADD ( column_name
[ TYPE COLUMN type_column_name ]
[ LANGUAGE language_term ] [,...n] )
[ WITH NO POPULATION ]
| DROP ( column_name [,...n] )
[ WITH NO POPULATION ]
| START { FULL | INCREMENTAL | UPDATE } POPULATION
| {STOP | PAUSE | RESUME } POPULATION
| SET STOPLIST { OFF| SYSTEM | stoplist_name }
[ WITH NO POPULATION ]
}
[;]
Argumenty
table_name
Jest nazwą tabela lub indeksowany widok , który zawiera kolumna lub kolumny indeksu pełnotekstowego.Określanie nazwy właściciela bazy danych i tabela jest opcjonalna.WŁĄCZ | WYŁĄCZ
Informuje o SQL Server czy zebrać dane indeksu pełnotekstowego dla table_name.Włącz Uaktywnia indeksu pełnotekstowego; DISABLE Wyłącza indeksu pełnotekstowego. tabela nie obsługują kwerend pełnego tekstu, gdy indeks jest wyłączony.Wyłączanie indeks pełnotekstowy umożliwia wyłączanie opcji oledzenia zmian, ale zachować indeksu pełnotekstowego, w którym można ponownie uaktywnić w dowolnym czas przy użyciu Włącz.Po wyłączeniu indeksu pełnotekstowego indeksu pełnotekstowego metadane pozostaje w tabele systemowe.Jeśli CHANGE_TRACKING jest w stanie włączonym (aktualizacja automatyczna lub ręczna), gdy indeks pełnotekstowy jest wyłączone, zawiesza się stan indeksu, wszelkie zatrzymanie trwającego przeszukiwanie i nowe zmiany danych tabela nie są śledzone lub propagowane do indeksu.
CHANGE_TRACKING ZESTAWU {PODRĘCZNIKA | AUTO | OFF}
Określa, czy zmiany (aktualizacje, usuwa lub wstawia) kolumny tabela , które są objęte indeksu pełnotekstowego będzie propagowane przez SQL Server do indeksu pełnotekstowego.Zmiany danych poprzez WRITETEXT i UPDATETEXT nie są uwzględniane w indeksie pełnego tekstu i nie są zabierani z śledzenia zmian.Ostrzeżenie
Informacje o interakcjach nawiązanych śledzenia zmian i z populacji nie patrz "Uwagi" w dalszej części tego tematu.
RĘCZNE
Określa, że prześledzone zmiany będą propagowane ręcznie wywołując indeks PEŁNOTEKSTOWY ALTER … Rozpocznij AKTUALIZACJĘ populacji Transact-SQL instrukcja (Ręczne zapełnianie).Można użyć SQL Server to agenta Transact-SQL instrukcja okresowe.AUTOMATYCZNE
Określa, że prześledzone zmiany będą przekazywane automatycznie zmienione dane w tabela bazowa (automatyczne zapełnianie).Mimo, że zmiany są propagowane automatycznie, zmiany te nie może być odzwierciedlane natychmiast indeksu pełnotekstowego.AUTO jest ustawieniem domyślnym.WYŁĄCZANIE
Określa, że SQL Server nie będzie przechowywać listę zmian wprowadzonych do danych indeksowanych.DODAJ | UPUŚĆcolumn_name
Określa kolumny, które mają być dodane lub usunięte z indeksu pełnotekstowego.The kolumna or columns must be of type char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary, or varbinary(max).Używać uprzednio UPUSZCZANIA klauzula tylko w kolumnach, które zostały włączone do indeksowania pełnotekstowego.
Typ kolumny i używać języka z Dodaj klauzula , aby zestaw te właściwości na column_name.Po dodaniu kolumna musi ponownie pełnotekstowy indeksu pełnotekstowego w tabela w celu pracy kwerend pełnotekstowego tej kolumna .
Ostrzeżenie
Czy wypełnione indeksu pełnotekstowego po kolumna jest dodane lub usunięte z indeksu pełnotekstowego zależy od tego, czy włączono rejestrowanie zmian oraz czy z populacji nie jest określony.Aby uzyskać więcej informacji zobacz "Uwagi" w dalszej części tego tematu.
KOLUMNA TYPtype_column_name
Określa nazwękolumnaz tabela, type_column_name, to jest używane do przechowywania typu dokumentu dla varbinary, varbinary(max), lub image dokumentu. W tej kolumna, znany jako typ kolumnazawiera rozszerzenie pliku dostarczone przez użytkownika (doc, PDF, xls itd.).Typ kolumna musi być typu char, nchar, varchar, lub nvarchar.Określ kolumnę typu type_column_name tylko wtedy, gdy column_name Określa varbinary, varbinary(max) lub image kolumna, w której dane są przechowywane jako dane binarne; w przeciwnym razie SQL Server zwraca błąd.
Ostrzeżenie
Na indeksowanie czas, pełnego tekstu aparat używa skrót w kolumna typ każdego wiersza tabela do identyfikacji, które przeszukiwanie pełnego tekstu filtru dla dokumentu w column_name.Filtr ładowany dokument jako strumień binarny, usuwa informacje o formatowaniu i wysyła tekst z dokumentu do składnika dzielenie wyrazów.Aby uzyskać więcej informacji, zobacz Filtry wyszukiwania pełnotekstowego.
JĘZYKlanguage_term
Jest językiem dane przechowywane w column_name.language_termjest opcjonalny i może być określony jako ciąg, liczba całkowita lub wartość szesnastkową odpowiadającą identyfikator ustawienia regionalne (LCID) języka.Jeśli language_term określono język reprezentuje zostaną zastosowane do wszystkich elementów warunek wyszukiwania.Jeśli wartość nie zostanie określona, domyślny język pełnego tekstu SQL Server,wystąpienie jest używany.
Użycie sp_configure procedura składowana dostęp do informacji o domyślny język pełnego tekstu SQL Server wystąpienie.Aby uzyskać więcej informacji, zobacz domyślny język pełnego tekstu, opcja.
Gdy określona jako ciąg language_term odpowiada alias wartośćkolumna w syslanguagestabela systemowa. ciąg musi być ujęty w znaki pojedynczego cudzysłowu, tak jak w "language_term".Gdy określona jako liczba całkowita, language_term jest rzeczywisty identyfikator LCID identyfikujący język.Gdy określona jako wartość szesnastkową language_term 0 x, a po nim szesnastkowe wartości LCID.Wartość szesnastkowa nie może przekraczać ośmiu cyfr, łącznie z zerami na początku.
Jeśli wartość jest w formacie zestaw znaków dwubajtowych (zestaw znaków dwubajtowych), SQL Server przekonwertuje go do kodu Unicode.
Zasoby, takie jak moduły dzielenia wyrazów i programy szukające rdzeni, musi być włączony dla języka, określony jako language_term.Jeśli takie zasoby nie obsługuje określonego języka SQL Server zwraca błąd.
Obiektu BLOB i -XML kolumny zawierające dane tekstowe w wielu językach lub w przypadkach, gdy język tekstu przechowywanego w kolumna jest nieznany należy użyć neutralne języka (0x0) zasób.W przypadku dokumentów przechowywanych w kolumnach typu BLOB lub XML standard kodowania w dokumencie będą używane w czasindeksowania.Na przykład w kolumnach XML atrybut XML: lang w dokumentach XML będzie identyfikować języka.W kwerendzie czaswartość określonych uprzednio w language_term staje się język domyślny używane w kwerendach pełnego tekstu, chyba że language_term jest określony jako część zapytanie pełnotekstowe.
[ ,...n]
Wskazuje, że wiele kolumn mogą być określone dla klauzul Dodaj lub UPUSZCZANIA.Gdy określono wiele kolumn, kolumny te należy oddzielić przecinkami.NIE POPULACJI
Określa, że po operacji zestawu STOPLIST lub Dodaj lub UPUSZCZANIA operacji kolumna nie zostaną wypełnione indeksu pełnotekstowego.Indeks zostanie wypełniony tylko, jeśli użytkownik wykonuje START...Polecenie populacji.Po określeniu populacji nr SQL Server nie wypełnia indeksu.Indeks jest wypełniane tylko wtedy, gdy użytkownik podaje indeks PEŁNOTEKSTOWY ALTER...Polecenie START populacji.Gdy nie określono nr populacji, SQL Server wypełnia indeksu.
Jeśli włączone jest CHANGE_TRACKING i z populacji nie jest określony, SQL Server zwraca błąd.Jeśli CHANGE_TRACKING jest włączona, a nie z populacji nie jest określony, SQL Server wykonuje pełny zapełnianie na indeks.
Ostrzeżenie
Aby uzyskać więcej informacji na temat interakcji śledzenia zmian i z populacji nie patrz "Uwagi" w dalszej części tego tematu.
{FULL| STARTINCREMENTAL|POPULACJI AKTUALIZACJI}
Informuje o SQL Server do rozpoczęcia zapełnianie indeksu pełnotekstowego table_name.Jeśli indeks pełnotekstowy zapełnianie jest już w toku, SQL Server zwraca ostrzeżenia i nie można uruchomić nową zapełnianie.-
PEŁNE
Określa, że każdy wiersz tabela można pobrać dla indeksowania pełnotekstowego, nawet jeśli wiersze są już indeksowane.PRZYROSTOWE
Określa tylko zmodyfikowanych wierszy od czasu ostatniego zapełnianie można pobrać dla indeksowania pełnotekstowego.PRZYROSTOWE mogą być stosowane tylko wtedy, gdy tabela zawiera kolumna typu timestamp.Jeśli tabela w wykaz pełnotekstowy nie zawiera kolumna typu timestamp, tabela podlega pełnym zapełnianie.AKTUALIZACJA
Określa przetwarzania wstawiania, aktualizacji lub usunięcia, od czas ostatniego indeksu śledzenia zmian został zaktualizowany.Śledzenia zmian zapełnianie musi być włączona w tabela, ale tła Uaktualnij indeks lub śledzenia zmian auto powinna nie jest włączona.
{ZATRZYMAĆ | WSTRZYMAJ | WZNÓW} POPULACJI
Zatrzymuje i wstrzymuje jakiejkolwiek zapełnianie w toku; Zatrzymuje lub wznawia jakiejkolwiek wstrzymania zapełnianie.ZATRZYMANIE ludności nie zatrzymuje automatyczne zmiany tła lub śledzenia aktualizacji indeksu.Aby zatrzymać śledzenie zmian, należy użyć SET CHANGE_TRACKING OFF.
Wstrzymaj populacji i populacji Wznów mogą być używane tylko dla pełnego populacji.Są one istotne dla innych typów zapełnianie , ponieważ inne populacje wznowić przeszukiwanie, z którym zatrzymanie przeszukiwanie .
ZESTAW STOPLIST {OFF| SYSTEM | stoplist_name }
Zmienia stoplist pełnego tekstu, który jest skojarzony z indeksu, jeśli istnieje.WYŁĄCZANIE
Określa, że nie stoplist być skojarzone z indeksu pełnotekstowego.SYSTEM
Określa, że domyślny system pełnego tekstu STOPLIST powinny być używane dla tego indeksu pełnotekstowego.stoplist_name
Określa nazwę stoplist, które mają być skojarzone z indeksu pełnotekstowego.
Aby uzyskać więcej informacji, zobacz Stopwords i Stoplists.
Uwagi
Na xml kolumny, można utworzyć indeksu pełnotekstowego, który indeksuje zawartość elementów XML, ale ignoruje znaczników XML.Wartości atrybutów są pełnotekstowego indeksowania, chyba że są wartościami liczbowymi.Element tagi są używane jako granice tokenu.Obsługiwane są właociwie sformatowane dokumenty HTML lub XML i fragmentów zawierających wiele języków.Aby uzyskać więcej informacji, zobacz Indeksu pełnotekstowego w kolumnie XML.
Interakcje śledzenia zmian i Brak parametru populacji
Czy wypełnione indeksu pełnotekstowego zależy od tego, czy włączono rejestrowanie zmian oraz czy z populacji nie określono zmiany indeks PEŁNOTEKSTOWY instrukcja.W poniższej tabela podsumowano wynik ich interakcji.
Śledzenie zmian |
NIE POPULACJI |
Wynik |
---|---|---|
Nie włączone |
Nie określono |
Pełna zapełnianie odbywa się w indeksie. |
Nie włączone |
Określony |
Nie zapełnianie indeksu występuje aż indeks PEŁNOTEKSTOWY ALTER...START populacji instrukcja zostało wydane. |
Włączone |
Określony |
Spowodował błąd i indeks nie ulega zmianie. |
Włączone |
Nie określono |
Pełna zapełnianie odbywa się w indeksie. |
Aby uzyskać więcej informacji na temat wypełniania indeksy pełnotekstowe, zobacz Populacji indeksu pełnotekstowego.
Uprawnienia
Użytkownik musi ZMIEŃ uprawnienia w tabela lub indeksowany widoklub element członkowski sysadmin stała rola serweralub db_ddladmin lub db_owner ról stałej bazy danych.
Jeśli określono ustawienie STOPLIST, użytkownik musi mieć uprawnienie do odwołania na stoplist.Właściciel STOPLIST można przyznać to uprawnienie.Ponadto nadawanie uprawnień odwołania wymaga uprawnień ZMIENIA katalog PEŁNOTEKSTOWY.
Ostrzeżenie
Społeczeństwo jest uprawnienie odniesienia stoplist domyślny, który jest dostarczany z SQL Server.
Przykłady
A.Ustawianie śledzenia zmian ręcznych
Poniższy przykład ustawia ręcznie zmieniać śledzenie na indeksu pełnotekstowego w JobCandidate tabela AdventureWorks2008R2 bazy danych.
USE AdventureWorks2008R2;
GO
ALTER FULLTEXT INDEX ON HumanResources.JobCandidate
SET CHANGE_TRACKING MANUAL;
GO
B.Uruchamianie pełnego zapełnianie
W następującym przykładzie uruchomiono pełnego zapełnianie na indeks pełnotekstowy na JobCandidate tabela AdventureWorks2008R2 bazy danych.
USE AdventureWorks2008R2;
GO
ALTER FULLTEXT INDEX ON HumanResources.JobCandidate
START FULL POPULATION;
GO