Share via


ALTER SEARCH PROPERTY LIST (Transact-SQL)

Fügt der angegebenen Sucheigenschaftenliste eine angegebene Sucheigenschaft hinzu oder entfernt diese daraus.

Wichtiger HinweisWichtig

CREATE SEARCH PROPERTY LIST, ALTER SEARCH PROPERTY LIST und DROP SEARCH PROPERTY LIST werden nur unter dem Kompatibilitätsgrad 110 unterstützt. Bei geringeren Kompatibilitätsgraden werden diese Anweisungen nicht unterstützt.

Syntax

ALTER SEARCH PROPERTY LIST list_name
{
   ADD 'property_name'
     WITH 
      ( 
          PROPERTY_SET_GUID = 'property_set_guid'
        , PROPERTY_INT_ID = property_int_id
      [ , PROPERTY_DESCRIPTION = 'property_description' ]
      )
 | DROP 'property_name' 
}
;

Argumente

  • list_name
    Der Name der Eigenschaftenliste, die geändert wird. Ein list_name-Bezeichner.

    Mit der sys.registered_search_property_lists-Katalogsicht können Sie die Namen der vorhandenen Eigenschaftenlisten wie folgt anzeigen:

    SELECT name FROM sys.registered_search_property_lists;
    
  • ADD
    Fügt der von list_name angegebenen Eigenschaftenliste eine angegebene Sucheigenschaft hinzu. Die Eigenschaft wird für die Sucheigenschaftenliste registriert. Bevor neu hinzugefügte Eigenschaften für die Eigenschaftensuche verwendet werden können, müssen die zugeordneten Volltextindizes wieder aufgefüllt werden. Weitere Informationen finden Sie unter ALTER FULLTEXT INDEX (Transact-SQL).

    HinweisHinweis

    Um einer Sucheigenschaftenliste eine angegebene Sucheigenschaft hinzuzufügen, müssen Sie die Eigenschaftensatz-GUID (property_set_guid) und die Ganzzahlige Eigenschafts-ID (property_int_id) bereitstellen. Weitere Informationen finden Sie unter "Abrufen von Eigenschaftensatz-GUIDS und -Bezeichnern" weiter unten in diesem Thema.

  • property_name
    Gibt den Namen an, der in Volltextabfragen für die Eigenschaft verwendet werden soll. property_name muss die Eigenschaft innerhalb des Eigenschaftensatzes eindeutig kennzeichnen. Eigenschaftsnamen können interne Leerzeichen enthalten. Die maximale Länge von property_name ist 256 Zeichen. Für diesen Name kann ein benutzerfreundlicher Name verwendet werden, z. B. "Autor" oder "Privatadresse", oder aber der kanonische Windows-Name der Eigenschaft, z. B. System.Author oder System.Contact.HomeAddress.

    Entwickler müssen den Wert verwenden, den Sie angeben, damit die Eigenschaft von property_name im CONTAINS-Prädikat identifiziert werden kann. Daher ist es beim Hinzufügen einer Eigenschaft wichtig, einen Wert anzugeben, durch den die von der angegebenen Eigenschaftensatz-GUID (property_set_guid) und dem angegebenen Eigenschaftsbezeichner (property_int_id) definierte Eigenschaft aussagekräftig bezeichnet wird. Weitere Informationen zu Eigenschaftsnamen finden Sie unter "Hinweise" weiter unten in diesem Thema.

    Um die Namen von Eigenschaften anzuzeigen, die derzeit in einer Sucheigenschaftenliste der aktuellen Datenbank vorhanden sind, verwenden Sie die sys.registered_search_properties-Katalogsicht wie folgt:

    SELECT property_name FROM sys.registered_search_properties;
    
  • PROPERTY_SET_GUID ='property_set_guid'
    Gibt den Bezeichner des Eigenschaftensatzes an, zu dem die Eigenschaft gehört. Bei diesem handelt es sich um einen global eindeutigen Bezeichner (GUID, Globally Unique Identifier). Informationen zum Abrufen dieses Werts finden Sie weiter unten in diesem Thema unter "Hinweise".

    Um die Eigenschaftensatz-GUID von Eigenschaften anzuzeigen, die in einer Sucheigenschaftenliste der aktuellen Datenbank vorhanden sind, verwenden Sie die sys.registered_search_properties-Katalogsicht wie folgt:

    SELECT property_set_guid FROM sys.registered_search_properties;
    
  • PROPERTY_INT_ID =property_int_id
    Gibt die ganze Zahl an, die die Eigenschaft innerhalb des Eigenschaftensatzes identifiziert. Informationen zum Abrufen dieses Werts finden Sie unter "Hinweise".

    Um den ganzzahligen Bezeichner von Eigenschaften anzuzeigen, die in einer Sucheigenschaftenliste der aktuellen Datenbank vorhanden sind, verwenden Sie die sys.registered_search_properties-Katalogsicht wie folgt:

    SELECT property_int_id FROM sys.registered_search_properties;
    
    HinweisHinweis

    Jede dieser Kombinationen von property_set_guid und property_int_id muss in einer einzelnen Sucheigenschaftenliste eindeutig sein. Wenn Sie versuchen, eine vorhandene Kombination hinzuzufügen, kann ALTER SEARCH PROPERTY LIST nicht ordnungsgemäß ausgeführt werden, und es kommt zu einem Fehler. Dies bedeutet, dass Sie nur einen Namen für eine angegebene Eigenschaft definieren können.

  • PROPERTY_DESCRIPTION ='property_description'
    Gibt eine benutzerdefinierte Beschreibung der Eigenschaft an. property_description ist eine Zeichenfolge mit bis zu 512 Zeichen. Diese Option ist optional.

  • DROP
    Löscht die angegebene Eigenschaft aus der von list_name angegebenen Eigenschaftenliste. Durch das Löschen einer Eigenschaft wird ihre Registrierung aufgehoben und Sie können nicht mehr danach suchen.

Hinweise

Jeder Volltextindex kann nur eine Sucheigenschaftenliste aufweisen.

Um das Abfragen für eine bestimmte Sucheigenschaft zu aktivieren, müssen Sie sie der Sucheigenschaftenliste des Volltextindexes hinzufügen und diesen anschließend neu auffüllen.

Wenn Sie eine Eigenschaft angeben, können Sie die PROPERTY_SET_GUID, PROPERTY_INT_ID und die PROPERTY_DESCRIPTION-Klausel in Form einer Trennzeichen getrennten Liste in Klammern in beliebiger Reihenfolge angeben. Beispiel:

ALTER SEARCH PROPERTY LIST CVitaProperties
ADD 'System.Author' 
WITH ( 
      PROPERTY_DESCRIPTION = 'Author or authors of a given document.',
      PROPERTY_SET_GUID   = 'F29F85E0-4FF9-1068-AB91-08002B27B3D9', 
      PROPERTY_INT_ID = 4 
      );
HinweisHinweis

In diesem Beispiel wird der Eigenschaftsname System.Author verwendet, der dem Konzept kanonischer Eigenschaftsnamen in Windows Vista (kanonischer Windows-Name) ähnlich ist.

Abrufen von Eigenschaftswerten

Bei der Volltextsuche wird eine Sucheigenschaft anhand der Eigenschaftssatz-GUID und der ganzzahligen Eigenschaften-ID einem Volltextindex zugeordnet. Informationen zum Abrufen dieser Daten für von Microsoft definierte Eigenschaften finden Sie unter Suchen von Eigenschaftensatz-GUIDS und ganzzahligen Eigenschaft-IDs für Sucheigenschaften. Weitere Informationen zu Eigenschaften, die von einem unabhängigen Softwareanbieter (ISV) definiert wurden, finden Sie in der Dokumentation des betreffenden Anbieters.

Hinzugefügte Eigenschaften als durchsuchbar festlegen

Durch Hinzufügen einer Sucheigenschaft zu einer Sucheigenschaftenliste wird die Eigenschaft registriert. Eine neu hinzugefügte Eigenschaft kann unmittelbar in CONTAINS-Abfragen angegeben werden. Bei Volltextabfragen mit Eigenschaftenbereichen in einer neu hinzugefügten Eigenschaft werden erst dann Dokumente zurückgegeben, wenn der zugeordnete Volltextindex neu aufgefüllt wurde. So werden von der folgenden Abfrage mit Eigenschaftenbereich für die neu hinzugefügte Eigenschaft new_search_property erst dann Dokumente zurückgegeben, wenn der mit der Zieltabelle (table_name) verknüpfte Volltextindex neu aufgefüllt wird:

SELECT column_name FROM table_name WHERE CONTAINS( PROPERTY( column_name, 'new_search_property' ), 'contains_search_condition');
GO 

Um eine vollständige Auffüllung zu starten, verwenden Sie die folgende ALTER FULLTEXT INDEX (Transact-SQL)-Anweisung:

USE database_name;
GO
ALTER FULLTEXT INDEX ON table_name START FULL POPULATION;
GO
HinweisHinweis

Die Neuauffüllung ist nicht erforderlich, nachdem eine Eigenschaft aus einer Eigenschaftenliste gelöscht wurde, da nur die Eigenschaften, die in der Sucheigenschaftenliste bleiben, für Volltextabfragen verfügbar sind.

Verwandte Verweise

So erstellen Sie eine Eigenschaftenliste

So löschen Sie eine Eigenschaftenliste

So fügen Sie für einen Volltextindex eine Eigenschaftenliste hinzu bzw. so entfernen Sie eine Eigenschaftenliste für einen Volltextindex

So führen Sie eine Auffüllung für einen Volltextindex aus

Berechtigungen

Erfordert CONTROL-Berechtigungen für die Eigenschaftenliste.

Beispiele

A.Hinzufügen einer Eigenschaft

Im folgenden Beispiel werden der Eigenschaftenliste DocumentPropertyList die Eigenschaften Title, Author und Tags hinzugefügt.

HinweisHinweis

Ein Beispiel, in dem die DocumentPropertyList-Eigenschaftenliste erstellt wird, finden Sie unter CREATE SEARCH PROPERTY LIST (Transact-SQL).

ALTER SEARCH PROPERTY LIST DocumentPropertyList
   ADD 'Title' 
   WITH ( PROPERTY_SET_GUID = 'F29F85E0-4FF9-1068-AB91-08002B27B3D9', PROPERTY_INT_ID = 2, 
      PROPERTY_DESCRIPTION = 'System.Title - Title of the item.' );

ALTER SEARCH PROPERTY LIST DocumentPropertyList 
    ADD 'Author'
   WITH ( PROPERTY_SET_GUID = 'F29F85E0-4FF9-1068-AB91-08002B27B3D9', PROPERTY_INT_ID = 4, 
      PROPERTY_DESCRIPTION = 'System.Author - Author or authors of the item.' );

ALTER SEARCH PROPERTY LIST DocumentPropertyList 
    ADD 'Tags'
   WITH ( PROPERTY_SET_GUID = 'F29F85E0-4FF9-1068-AB91-08002B27B3D9', PROPERTY_INT_ID = 5, 
      PROPERTY_DESCRIPTION = 'System.Keywords - Set of keywords (also known as tags) assigned to the item.' );
HinweisHinweis

Bevor Sie eine bestimmte Sucheigenschaftenliste für Abfragen mit Eigenschaftenbereichen verwenden können, müssen Sie sie einem Volltextindex zuordnen. Verwenden Sie dazu eine ALTER FULLTEXT INDEX-Anweisung, und geben Sie die SET SEARCH PROPERTY LIST-Klausel an.

B.Löschen einer Eigenschaft

Im folgenden Beispiel wird die Comments-Eigenschaften aus der DocumentPropertyList-Eigenschaftenliste gelöscht.

ALTER SEARCH PROPERTY LIST DocumentPropertyList
DROP 'Comments' ;

Siehe auch

Verweis

CREATE SEARCH PROPERTY LIST (Transact-SQL)

DROP SEARCH PROPERTY LIST (Transact-SQL)

sys.registered_search_properties (Transact-SQL)

sys.registered_search_property_lists (Transact-SQL)

sys.dm_fts_index_keywords_by_property (Transact-SQL)

Konzepte

Suchen von Dokumenteigenschaften mithilfe von Sucheigenschaftenlisten

Suchen von Eigenschaftensatz-GUIDS und ganzzahligen Eigenschaft-IDs für Sucheigenschaften