Zarządzanie i monitorowanie wyszukiwania semantycznego

Dotyczy:programu SQL Server

Ten artykuł opisuje, jak sprawdzić status i rozmiar indeksowania, wymusić populację oraz wyłączyć lub ponownie włączyć indeksowanie semantyczne. Indeksowanie semantyczne przebiega w dwóch fazach wraz z indeksowaniem pełnym tekstem.

Sprawdzanie stanu indeksowania semantycznego

Czy pierwsza faza indeksowania semantycznego została ukończona?

Wykonaj zapytanie względem widoku dynamicznego zarządzania sys.dm_fts_index_population i sprawdź kolumny status i status_description.

Pierwsza faza indeksowania obejmuje populację indeksu słowa kluczowego pełnotekstowego i semantycznego indeksu kluczowych fraz, a także wyodrębnianie danych podobieństwa dokumentu.

USE database_name;
GO

SELECT *
FROM sys.dm_fts_index_population
WHERE table_id = OBJECT_ID('table_name');
GO

Czy druga faza indeksowania semantycznego jest zakończona?

Wykonaj zapytanie względem widoku dynamicznego zarządzania sys.dm_fts_semantic_similarity_population i sprawdź kolumny status i status_description.

Druga faza indeksowania obejmuje populację indeksu podobieństwa dokumentu semantycznego.

USE database_name;
GO

SELECT *
FROM sys.dm_fts_semantic_similarity_population
WHERE table_id = OBJECT_ID('table_name');
GO

Sprawdzanie rozmiaru indeksów semantycznych

Jaki jest logiczny rozmiar semantycznego indeksu kluczowych fraz lub semantycznego indeksu podobieństwa dokumentu?

Wykonaj zapytanie względem dynamicznego widoku zarządzania sys.dm_db_fts_index_physical_stats.

Rozmiar logiczny jest wyświetlany w liczbie stron indeksu.

USE database_name;
GO

SELECT *
FROM sys.dm_db_fts_index_physical_stats
WHERE object_id = OBJECT_ID('table_name');
GO

Jaki jest całkowity rozmiar indeksów pełnotekstowych i semantycznych dla wykazu pełnotekstowego?

Zapytaj o właściwość IndexSize funkcji metadanych FULLTEXTCATALOGPROPERTY .

SELECT FULLTEXTCATALOGPROPERTY('catalog_name', 'IndexSize');
GO

Ile elementów jest indeksowanych w indeksach pełnotekstowych i semantycznych dla wykazu pełnotekstowego?

Zapytaj o właściwość ItemCount funkcji metadanych FULLTEXTCATALOGPROPERTY .

SELECT FULLTEXTCATALOGPROPERTY('catalog_name', 'ItemCount');
GO

Wymuszenie wypełnienia indeksów semantycznych

Możesz wymusić populację indeksów pełnotekstowych i semantycznych za pomocą klauzuli START, STOP, PAUSE lub RESUME POPULATION o tej samej składni i działaniu, jakie opisano dla indeksów pełnotekstowych. Aby uzyskać więcej informacji, zobacz ALTER FULLTEXT INDEX i Wypełnianie indeksów pełnotekstowych.

Ponieważ indeksowanie semantyczne jest zależne od indeksowania pełnotekstowego, indeksy semantyczne są wypełniane tylko po wypełnieniu skojarzonych indeksów pełnotekstowych.

Przykład: Rozpocznij pełną populację indeksów pełnych tekstów i semantycznych

Poniższy przykład rozpoczyna pełną populację zarówno pełnych tekstów, jak i semantycznych indeksów poprzez zmianę istniejącego indeksu pełnego tekstu w tabeli Production.Document w przykładowej bazie AdventureWorks2025 danych.

USE AdventureWorks2025;
GO

ALTER FULLTEXT INDEX ON Production.Document
    START FULL POPULATION;
GO

Wyłączanie lub ponowne włączanie indeksowania semantycznego

Możesz włączyć lub wyłączyć indeksowanie pełne tekstu lub semantyczne, używając klauzuli ENABLE or DISABLE o tej samej składni i zachowaniu, co opisane dla indeksów pełnotekstowych. Aby uzyskać więcej informacji, zobacz ALTER FULLTEXT INDEX.

Gdy indeksowanie semantyczne jest wyłączone i zawieszone, zapytania dotyczące danych semantycznych nadal działają pomyślnie i zwracają wcześniej indeksowane dane. To zachowanie nie jest zgodne z zachowaniem Full-Text Search.

-- To disable semantic indexing on a table
USE database_name;
GO

ALTER FULLTEXT INDEX ON table_name DISABLE;
GO

-- To re-enable semantic indexing on a table
USE database_name;
GO

ALTER FULLTEXT INDEX ON table_name ENABLE;
GO

Informacje o fazach indeksowania semantycznego

Wyszukiwanie semanticzne indeksuje dwa rodzaje danych dla każdej kolumny, na której jest aktywne:

  1. kluczowe frazy

  2. podobieństwo dokumentu

Indeksowanie semantyczne odbywa się w dwóch fazach w połączeniu z indeksowaniem pełnotekstowym:

  1. Faza 1. Indeks słów kluczowych pełnotekstowych i semantyczny indeks fraz kluczowych są wypełniane równolegle w tym samym czasie. Dane wymagane do indeksowania podobieństwa dokumentu są również wyodrębniane w tej chwili.

  2. Faza 2. Następnie wypełniany jest indeks podobieństwa dokumentu semantycznego. Ten indeks zależy od obu indeksów, które zostały wypełnione w poprzedniej fazie.

Problem: Indeksy semantyczne nie są wypełniane

Czy skojarzone indeksy pełnotekstowe są wypełniane?

Ponieważ indeksowanie semantyczne jest zależne od indeksowania pełnotekstowego, indeksy semantyczne są wypełniane tylko po wypełnieniu skojarzonych indeksów pełnotekstowych.

Czy Full-Text Search i Wyszukiwanie Semanticzne są poprawnie zainstalowane i skonfigurowane?

Aby uzyskać więcej informacji, zobacz Install and Configure Semantic Search.

Czy usługa fdhost nie jest dostępna, czy istnieje inny warunek, który mógłby powodować awarię indeksowania pełnego tekstu?

Więcej informacji można znaleźć w artykule Rozwiązywanie problemów z indeksowaniem pełnym tekstem.