Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Możesz skonfigurować indeks pełnotekstowy tak, aby obsługiwał wyszukiwanie ograniczone do właściwości dla określonych właściwości, takich jak Autor i Tytuł, dla obsługiwanych typów dokumentów w kolumnie danych binarnych typu varbinary(max) (w tym FILESTREAM) lub image. Bez tej konfiguracji zapytania pełne tekstu wykonują ogólne wyszukiwania na całym dokumencie, nie rozróżniając treści właściwości od treści głównej. Ta forma wyszukiwania w zakresie nieruchomości znana jest jako wyszukiwanie nieruchomości.
Skojarzony filtr (IFilter) określa, czy wyszukiwanie właściwości jest możliwe dla określonego typu dokumentu. W przypadku niektórych typów dokumentów skojarzony filtr IFilter wyodrębnia niektóre lub wszystkie właściwości zdefiniowane dla tego typu dokumentu, a także zawartość treści dokumentu. Indeks pełnotekstowy można skonfigurować tak, aby obsługiwał wyszukiwanie właściwości tylko we właściwościach wyodrębnionych przez filtr IFilter podczas indeksowania pełnotekstowego. Wśród IFilterów, które wyodrębniają wiele właściwości dokumentów, są IFiltery dla typów dokumentów Microsoft Office (takich jak .docx, .xlsx, i .pptx). Z drugiej strony, XML IFilter nie emituje właściwości.
Jak Full-Text Search działa z właściwościami wyszukiwania
Full-Text Search obsługuje wyszukiwanie według właściwości przez przypisanie każdej zarejestrowanej właściwości wewnętrznego identyfikatora właściwości oraz zapisanie tych identyfikatorów w indeksie pełnotekstowym.
Wewnętrzne identyfikatory własności
Silnik Full-Text dowolnie przypisuje każdej zarejestrowanej właściwości wewnętrzny identyfikator właściwości, który jednoznacznie identyfikuje właściwość na danej liście wyszukiwania i jest specyficzny dla tej listy. W związku z tym, jeśli właściwość jest dodawana do wielu list właściwości wyszukiwania, jej wewnętrzny identyfikator właściwości może się różnić między różnymi listami.
Kiedy właściwość zarejestrowano na liście wyszukiwania, aparat Full-Text arbitralnie przypisuje wewnętrzny identyfikator właściwości tej właściwości. Identyfikator właściwości wewnętrznej jest liczbą całkowitą, która jednoznacznie identyfikuje właściwość na tej liście właściwości wyszukiwania.
Na poniższej ilustracji przedstawiono logiczny widok listy właściwości wyszukiwania, który określa dwie właściwości, Tytuł i Słowa kluczowe. Nazwa na liście własności dla słów kluczowych to Tags. Te właściwości należą do tego samego zbioru właściwości, którego GUID to .f29f85e0-4ff9-1068-ab91-08002b27b3d9 Identyfikatory liczb całkowitych właściwości to 2 dla Tytuł i 5 dla tagów (słów kluczowych). Silnik Full-Text dowolnie mapuje każdą właściwość na wewnętrzny identyfikator właściwości, który jest unikalny w kontekście listy właściwości wyszukiwania. Wewnętrzny identyfikator właściwości Title to 1, a wewnętrzny identyfikator właściwości Tags to 2.
Identyfikator właściwości wewnętrznej prawdopodobnie różni się od numerycznego identyfikatora właściwości. Jeśli dana właściwość jest zarejestrowana dla wielu list właściwości wyszukiwania, dla każdej listy właściwości wyszukiwania może zostać przypisany inny identyfikator właściwości wewnętrznej. Na przykład identyfikator właściwości wewnętrznej może być 4 na jednej liście właściwości wyszukiwania, 1 w innej, 3 w innej itd. Z kolei identyfikator liczby całkowitej właściwości jest wewnętrzny dla właściwości i pozostaje taki sam, wszędzie tam, gdzie jest używana właściwość.
Indeks zarejestrowanych nieruchomości
Po skojarzeniu indeksu pełnotekstowego z listą właściwości wyszukiwania indeks musi zostać ponownie wypełniony w celu indeksowania terminów wyszukiwania specyficznych dla właściwości. Podczas indeksowania pełnotekstowego zawartość wszystkich właściwości jest przechowywana w indeksie pełnotekstowym wraz z inną zawartością. Jednak podczas indeksowania frazy wyszukiwania znalezionej we właściwości zarejestrowanej, indeksator pełnotekstowy przechowuje również odpowiedni wewnętrzny identyfikator właściwości razem z frazą. Natomiast jeśli własność nie jest zarejestrowana, jest przechowywana w indeksie pełnym tekstem jakby była częścią treści dokumentu i ma wartość zero dla wewnętrznego identyfikatora właściwości.
Poniższa ilustracja przedstawia logiczny widok wyświetlania terminów wyszukiwania w indeksie pełnotekstowym skojarzonym z listą właściwości wyszukiwania pokazaną na poprzedniej ilustracji. Przykładowy dokument, Dokument 1, zawiera trzy właściwości (Tytuł, Autor i Słowa Kluczowe), a także treść dokumentu. Dla właściwości Title i Keywords, które są określone na liście właściwości wyszukiwania, terminy wyszukiwania są skojarzone z odpowiadającymi im identyfikatorami właściwości w indeksie pełnotekstowym. Z kolei zawartość właściwości Author jest indeksowana tak, jakby była częścią treści dokumentu. Oznacza to, że zarejestrowanie właściwości zwiększa rozmiar indeksu pełnotekstowego nieco w zależności od ilości zawartości przechowywanej we właściwości.
Terminy wyszukiwania we właściwości Title (Favorite, Biking i Trails) są skojarzone z wewnętrznym identyfikatorem właściwości przypisanym do właściwości Title dla tego indeksu: 1. Hasła wyszukiwania w właściwości Keywords (biking oraz mountain) są powiązane z wewnętrznym identyfikatorem właściwości przypisanym tagom dla tego indeksu, 2. Dla haseł wyszukiwania w właściwości Autor (Jane i Doe) oraz w treści dokumentu wewnętrzny identyfikator własności wynosi 0. Termin biking ten występuje w właściwości Title, w właściwości Keywords (Tags) oraz w treści dokumentu. Wyszukiwanie właściwości dla biking we właściwości Tytuł lub Słowa kluczowe (Tagi) zwróciłoby ten dokument w wynikach. Ogólne pełne zapytanie tekstowe dla biking również zwracałoby ten dokument, jakby indeks nie był skonfigurowany do wyszukiwania właściwości. Wyszukiwanie właściwości dla biking we właściwości Autor nie zwróci tego dokumentu.
Zapytanie pełnotekstowe w zakresie właściwości używa wewnętrznych identyfikatorów właściwości zarejestrowanych dla bieżącej listy właściwości wyszukiwania indeksu pełnotekstowego.
Wpływ umożliwienia wyszukiwania nieruchomości
Skonfigurowanie indeksu pełnotekstowego w celu obsługi wyszukiwania w co najmniej jednej właściwości zwiększa rozmiar indeksu w zależności od liczby właściwości, które są określone na liście właściwości wyszukiwania i zawartości każdej właściwości.
Podczas testowania typowych korpusów dokumentów Microsoft Word, Excel i PowerPoint skonfigurowano pełnotekstowy indeks do indeksowania typowych właściwości wyszukiwania. Indeksowanie tych właściwości zwiększyło rozmiar indeksu pełnego tekstu o około 5 procent. To przybliżone zwiększenie rozmiaru jest typowe dla większości korpusów dokumentów. Jednak ostatecznie wzrost rozmiaru zależy od ilości danych o nieruchomościach w danym korpusie dokumentów w stosunku do ilości danych całkowitych.
Utwórz listę właściwości wyszukiwania i włącz wyszukiwanie właściwości
Aby umożliwić wyszukiwanie właściwości, stwórz listę właściwości wyszukiwania, dodaj jedną lub więcej właściwości do listy, a następnie połącz ją z indeksem pełnym tekstem.
Stwórz listę właściwości wyszukiwania
Stwórz listę właściwości wyszukiwania, używając Transact-SQL lub SQL Server Management Studio.
Stwórz listę właściwości wyszukiwania w Transact-SQL
Użyj instrukcji CREATE SEARCH PROPERTY LIST i podaj co najmniej nazwę listy.
Stwórz listę właściwości wyszukiwania w SQL Server Management Studio
W Eksploratorze obiektów rozwiń serwer.
Rozwiń węzeł Databases, a następnie rozwiń bazę danych, w której zamierzasz utworzyć listę właściwości wyszukiwania.
Rozwiń Storage, a następnie kliknij prawym przyciskiem Search Property Lists.
Wybierz pozycję nowa lista właściwości wyszukiwania.
Określ nazwę listy właściwości.
Możesz opcjonalnie określić inną osobę jako właściciela listy właściwości.
Wybierz jedną z następujących opcji:
Tworzenie pustej listy właściwości wyszukiwania
Utwórz na podstawie istniejącej listy właściwości wyszukiwania
Aby uzyskać więcej informacji, zobacz CREATE SEARCH PROPERTY LIST.
Wybierz pozycję OK.
Dodaj właściwości do listy właściwości wyszukiwania
Wyszukiwanie właściwości wymaga utworzenia listy właściwości wyszukiwania i określenia co najmniej jednej właściwości, która ma być wyszukiwana. Po dodaniu właściwości do listy właściwości wyszukiwania właściwość jest zarejestrowana dla tej konkretnej listy. Aby dodać właściwość do listy właściwości wyszukiwania, potrzebne są następujące wartości:
Identyfikator GUID zestawu właściwości
Każda właściwość wyszukiwania należy do pojedynczego zestawu właściwości, który zawiera grupę powiązanych właściwości. Każdy zestaw właściwości jest identyfikowany przez unikatowy identyfikator globalny (GUID).
Identyfikator właściwości jako liczba całkowita
Każda właściwość wyszukiwania zawiera identyfikator, który jest unikatowy w zestawie właściwości. W przypadku danej właściwości identyfikator może być liczbą całkowitą lub ciągiem, jednak wyszukiwanie pełnotekstowe obsługuje tylko identyfikatory liczb całkowitych.
Nazwa właściwości
Jest to nazwa, którą użytkownicy będą określać w zapytaniach pełnotekstowych do wyszukiwania właściwości. Nazwa właściwości może zawierać spacje wewnętrzne. Maksymalna długość to 256 znaków.
Nazwa właściwości może być dowolna z następujących:
Kanoniczna nazwa właściwości w Windows, taka jak
System.AuthorlubSystem.Contact.HomeAddress.Przyjazna dla użytkownika nazwa, która jest łatwa do zapamiętania przez użytkowników. Niektóre właściwości są skojarzone z dobrze znaną nazwą przyjazną dla użytkownika, taką jak "Autor" lub "Adres domowy", ale można określić dowolną nazwę najbardziej odpowiednią dla użytkowników.
Notatka
Dana kombinacja identyfikatora GUID zestawu właściwości i identyfikatora właściwości musi być unikatowa na danej liście właściwości wyszukiwania. Oznacza to, że nie możesz dodać tej samej nieruchomości więcej niż raz, ale z różnymi nazwami lub opisami.
Opis właściwości (opcjonalnie)
Podczas dodawania właściwości wyszukiwania do listy właściwości wyszukiwania można podać opcjonalny opis. Na przykład możesz chcieć podać informacje o właściwości, które nie wynikają z jej nazwy, lub opisać zestaw właściwości tej nieruchomości.
Uzyskaj wartości dla listy właściwości wyszukiwania
Dodaj własność do listy nieruchomości do wyszukiwania w Transact-SQL
Użyj ALTER SEARCH PROPERTY LIST instrukcji z wartościami, które uzyskałeś za pomocą jednej z opisanych w artykule metod, Znajdź GUIDy zestawu właściwości oraz identyfikatory całkowitoliczbowe właściwości dla właściwości wyszukiwania.
W poniższym przykładzie pokazano użycie tych wartości podczas dodawania właściwości do listy właściwości wyszukiwania:
ALTER SEARCH PROPERTY LIST DocumentTablePropertyList
ADD 'Title' WITH (
PROPERTY_SET_GUID = 'F29F85E0-4FF9-1068-AB91-08002B27B3D9',
PROPERTY_INT_ID = 2,
PROPERTY_DESCRIPTION = 'System.Title - Title of the item.'
);
Dodaj właściwość do listy właściwości wyszukiwania w SQL Server Management Studio
Użyj okna dialogowego właściwości listy właściwości wyszukiwania, aby dodać i usunąć właściwości wyszukiwania. Listy właściwości wyszukiwania można znaleźć w Eksploratorze obiektów w węźle Storage skojarzonej bazy danych.
Powiązaj listę właściwości wyszukiwania z indeksem pełnym tekstu
Aby indeks pełnotekstowy obsługiwał wyszukiwanie właściwości we właściwościach zarejestrowanych na liście właściwości wyszukiwania, należy skojarzyć listę właściwości wyszukiwania z indeksem i ponownie wypełniać indeks. Ponowne wypełnianie indeksu pełnotekstowego powoduje utworzenie wpisów indeksu specyficznych dla właściwości dla terminów wyszukiwania w każdej z zarejestrowanych właściwości.
Dopóki indeks pełnego tekstu pozostaje powiązany z tą listą właściwości wyszukiwania, pełnotekstowe zapytanie może skorzystać z PROPERTY opcji CONTAINS predykatu do wyszukiwania właściwości zarejestrowanych na tej liście właściwości.
Jeśli zmienisz listę właściwości wyszukiwania skojarzona z indeksem pełnotekstowym, indeks musi zostać ponownie skompilowany, aby wprowadzić go w spójny stan. Indeks jest natychmiast skrócony i pozostaje pusty do momentu zakończenia pełnego przetwarzania. Aby uzyskać więcej informacji o tym, kiedy zmiana listy właściwości wyszukiwania powoduje odbudowę indeksu, zobacz "Uwagi" w ALTER FULLTEXT INDEX.
Połącz listę właściwości wyszukiwania z pełnym tekstem indeksu w Transact-SQL
Użyj instrukcji ALTER FULLTEXT INDEX z klauzulą SET SEARCH PROPERTY LIST = <property_list_name> .
Powiązaj listę właściwości wyszukiwania z pełnotekstowym indeksem w SQL Server Management Studio
Określ wartość dla Listy właściwości wyszukiwania na stronie Ogólne okna dialogowego Full-Text Właściwości indeksu.
Wykonywanie zapytań względem właściwości wyszukiwania za pomocą funkcji CONTAINS
Podstawowa składnia ZAWIERA dla pełnotekstowego zapytania w zakresie właściwości jest następująca:
SELECT column_name
FROM table_name
WHERE CONTAINS (PROPERTY(column_name, 'property_name'), '<contains_search_condition>');
Na przykład następujące zapytanie wyszukuje indeksowaną właściwość Titlew kolumnie Document tabeli Production.Document bazy danych AdventureWorks. Zapytanie zwraca tylko dokumenty, których Title własność zawiera ciąg Maintenance lub Repair.
Notatka
W Azure SQL Database oraz w bazie danych SQL w Microsoft Fabric instrukcja USE nie jest dostępna. Zamiast tego połącz się bezpośrednio z docelową bazą danych i uruchom resztę próbki kodu.
USE AdventureWorks2025;
GO
SELECT Document
FROM Production.Document
WHERE CONTAINS (PROPERTY(Document, 'Title'), 'Maintenance OR Repair');
GO
W tym przykładzie zakłada się, że IFilter dla dokumentu wyodrębnia jego właściwość Title, że właściwość Title jest dodawana do listy właściwości wyszukiwania i że lista właściwości wyszukiwania jest skojarzona z indeksem pełnotekstowym.
Zarządzaj listami właściwości wyszukiwania
Po utworzeniu listy właściwości wyszukiwania możesz ją przeglądać, zmieniać lub usuwać.
Przeglądaj i zmieniaj listę właściwości wyszukiwania
Przeglądaj i zmieniaj listę właściwości wyszukiwania, używając Transact-SQL lub SQL Server Management Studio.
Wyświetlanie i zmienianie listy właściwości wyszukiwania w języku Transact-SQL
Użyj instrukcji, ALTER SEARCH PROPERTY LIST aby dodać lub usunąć właściwości wyszukiwania.
Przeglądaj i zmieniaj listę właściwości wyszukiwania w SQL Server Management Studio
W Eksploratorze obiektów rozwiń serwer.
Rozwiń węzeł Database, a następnie rozwiń bazę danych.
Rozwiń Storage.
Rozwiń listy właściwości wyszukiwania, aby je wyświetlić.
Kliknij prawym przyciskiem myszy listę właściwości, a następnie wybierz pozycję Właściwości.
W edytorze listy właściwości wyszukiwania okna dialogowego użyj siatki Właściwości, aby dodać lub usunąć właściwości wyszukiwania:
- Aby usunąć właściwość dokumentu, wybierz nagłówek wiersza po lewej stronie i naciśnij DEL.
Aby dodać własność dokumentu, wybierz pusty wiersz na dole listy, po prawej stronie ,
*i wprowadź wartości dla nowej właściwości.Aby uzyskać informacje o tych wartościach, zobacz Edytor listy właściwości wyszukiwania. Informacje o tym, jak uzyskać te wartości dla właściwości zdefiniowanych przez firmę Microsoft, można znaleźć w artykule Znajdowanie identyfikatorów GUID zestawów właściwości i całkowitych identyfikatorów właściwości dla właściwości wyszukiwania. Aby uzyskać informacje o właściwościach zdefiniowanych przez niezależnego dostawcę oprogramowania (ISV), zobacz dokumentację tego dostawcy.
Wybierz pozycję OK.
Usuń listę właściwości wyszukiwania
Nie można usunąć z bazy danych listy właściwości, gdy jest ona skojarzona z jakimkolwiek indeksem pełnotekstowym.
Usuń listę właściwości wyszukiwania w Transact-SQL
Użyj instrukcji DROP SEARCH PROPERTY LIST .
Usuń listę właściwości wyszukiwania w SQL Server Management Studio
W Eksploratorze obiektów rozwiń serwer.
Rozwiń węzeł Database, a następnie rozwiń bazę danych.
Rozwiń węzeł Storage, a następnie rozwiń węzeł listy właściwości wyszukiwania.
Kliknij prawym przyciskiem myszy na listę właściwości, które chcesz usunąć, i wybierz Usuń.
Wybierz pozycję OK.