Udostępnij za pośrednictwem


sys.dm_fts_index_keywords_by_document (języka Transact-SQL)

Zwraca informacje o dokumencie -poziom zawartości indeksu pełnotekstowego dla określonej tabela.Danego słowa kluczowego mogą pojawiać się w różnych dokumentach.

sys.dm_fts_index_keywords_by_documentjest funkcja dynamicznego zarządzania.

Ostrzeżenie

Aby wyświetlić wyższej-poziom indeksu pełnotekstowego informacji, na kluczowe poziom, użyj sys.dm_fts_index_keywords (języka Transact-SQL) funkcja dynamicznego zarządzania.

Składnia

sys.dm_fts_index_keywords_by_document
( 
    DB_ID('database_name'),     OBJECT_ID('table_name') 
)

Argumenty

  • db_id ("database_name")
    Wywołanie DB_ID() funkcja.Ta funkcja przyjmuje nazwę bazy danych i zwraca identyfikator bazy danych co sys.dm_fts_index_keywords_by_document do wyszukiwania określonej bazy danych.Jeśli database_name jest pominięty, bieżący identyfikator bazy danych zostanie zwrócona.

  • object_id ("table_name")
    Wywołanie OBJECT_ID() funkcja.Ta funkcja przyjmuje nazwę tabela i zwraca identyfikator tabela tabela zawierającą indeks pełnotekstowy do inspekcji.

Zwracana tabela

Column

Typ danych

Opis

keyword

nvarchar(4000)

Reprezentacja szesnastkowy słowa kluczowego, który jest przechowywany wewnątrz indeksu pełnotekstowego.

UwagaUwaga:
OxFF reprezentuje znak specjalny, który wskazuje koniec pliku lub zestawu danych.

display_term

nvarchar(4000)

Format czytelny dla człowieka słowo kluczowe.Ten format jest pochodną wewnętrzny format, który jest przechowywany w indeksu pełnotekstowego.

UwagaUwaga:
OxFF reprezentuje znak specjalny, który wskazuje koniec pliku lub zestawu danych.

column_id

int

Identyfikator kolumna , z którego bieżące słowo kluczowe zostało pełnotekstowego indeksowania.

document_id

int

Identyfikator dokumentu lub wiersza, z której bieżący termin został pełnotekstowego indeksowania.Ten identyfikator odpowiada wartości klucz pełnotekstowego opartego tego dokumentu lub wiersza.

occurrence_count

int

Liczba wystąpień bieżące słowo kluczowe w dokumencie lub wiersz, który jest wskazywany przez document_id.

Uwagi

Informacje zwrócone przez sys.dm_fts_index_keywords_by_document jest przydatne w przypadku stwierdzenia, między innymi:

  • Całkowita liczba słów kluczowych, które wchodzą w skład indeksu pełnotekstowego.

  • Czy słowo kluczowe jest częścią danego dokumentu lub wiersza.

  • Ile razy słowa kluczowego pojawia się w całości pełnotekstowego indeksu; jest to:

    (Suma(occurrence_count) gdzie słowa kluczowego=keyword_value )

  • Ile razy dany dokument lub wiersz pojawi się słowo kluczowe.

  • Jak wiele słów kluczowych zawiera dany dokument lub wiersz.

Ponadto umożliwia także informacji dostarczonych przez sys.dm_fts_index_keywords_by_document pobrać wszystkie słowa kluczowe należących do danego dokumentu lub wiersza.

W przypadku pełnego tekstu klucz kolumna danych typu Liczba całkowita zgodnie z zaleceniami, document_id mapy bezpośrednio do wartości klucz pełnotekstowego opartego w tabela bazowa.

Natomiast podczas pełnego tekstu klucz kolumna wykorzystuje typ danych nie jest liczbą całkowitą, document_id nie odzwierciedla pełnego tekstu klucz w tabela bazowa.W tym przypadekdo identyfikowania wiersza w tabela bazowa jest zwracany przez dm_fts_index_keywords_by_document, należy ten widok wyniki zwróconych przez łączyć sp_fulltext_keymappings.Zanim można łączyć je w tymczasowej tabelamuszą być przechowywane dane wyjściowe procedura składowana .Następnie można łączyć document_id kolumna dm_fts_index_keywords_by_document z DocId kolumna jest zwracana przez tę procedura składowana.Należy zauważyć, że timestamp kolumna nie można odebrać wartości w Wstaw czas, ponieważ one są automatycznie generowanej przez SQL Server.W związku z tym timestamp kolumna , należy przekonwertować na varbinary(8) kolumny.Poniższy przykład pokazuje następujące kroki.W tym przykładzie table_id jest Identyfikatorem tabela nazwa_bazy_danych jest nazwą bazy danych i nazwa_tabeli jest nazwą tabela.

USE database_name;
GO
CREATE TABLE #MyTempTable 
   (
      docid INT PRIMARY KEY ,
      [key] INT NOT NULL
   );
DECLARE @db_id int = db_id(N'database_name');
DECLARE @table_id int = OBJECT_ID(N'table_name');
INSERT INTO #MyTempTable EXEC sp_fulltext_keymappings @table_id;
SELECT * FROM sys.dm_fts_index_keywords_by_document 
   ( @db_id, @table_id ) kbd
   INNER JOIN #MyTempTable tt ON tt.[docid]=kbd.document_id;
GO

Uprawnienia

Wymaga uprawnienia Utwórz katalog PEŁNOTEKSTOWY i uprawnienie SELECT kolumn objętych indeksu pełnotekstowego.

Przykłady

A.Wyświetlanie zawartości indeksu pełnotekstowego na poziomdokumentu

Poniższy przykład przedstawia zawartość indeksu pełnotekstowego na poziom dokumentu w HumanResources.JobCandidate tabela AdventureWorks2008R2 przykładowej bazy danych.

Ostrzeżenie

Indeks można utworzyć przez wykonywanie przykład przewidziane HumanResources.JobCandidate tabela w Utwórz indeks PEŁNOTEKSTOWY (Transact-SQL).

SELECT * FROM sys.dm_fts_index_keywords_by_document(db_id('AdventureWorks2008R2'), 
object_id('HumanResources.JobCandidate'));
GO