ALTER SEARCH PROPERTY LIST (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL Managed Instance

Voegt een gespecificeerde zoekeigenschap toe aan, of verwijdert deze uit de opgegeven zoekeigenschapslijst.

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'   
}  
;  

Arguments

list_name
Wordt de naam van de vastgoedlijst aangepast? list_name is een identificatie.

Om de namen van de bestaande eigendomslijsten te bekijken, gebruikt u de catalogusweergave sys.registered_search_property_lists , als volgt:

SELECT name FROM sys.registered_search_property_lists;  

ADD
Voegt een gespecificeerde zoekeigenschap toe aan de property list die door list_name is gespecificeerd. Het eigendom is geregistreerd voor de zoekopdracht van de eigendomslijst. Voordat nieuw toegevoegde eigenschappen kunnen worden gebruikt voor property-zoekopdrachten, moeten de bijbehorende full-text index of indexen opnieuw worden aangevuld. Voor meer informatie, zie ALTER FULLTEXT INDEX (Transact-SQL).

Note

Om een bepaalde zoekeigenschap toe te voegen aan een zoekeigenschapslijst, moet je de eigenschapsset GUID (property_set_guid) en de property int ID (property_int_id) opgeven. Voor meer informatie, zie "Property Set GUIDS en Identifiers verkrijgen," later in dit onderwerp.

property_name
Specificeert de naam die gebruikt moet worden om de eigenschap te identificeren in full-text queries. property_name moet de eigenschap binnen de eigenschapsverzameling uniek identificeren. Een eigenschapsnaam kan interne spaties bevatten. De maximale lengte van property_name is 256 tekens. Deze naam kan een gebruiksvriendelijke naam zijn, zoals Auteur of Thuisadres, of het kan de canonieke Windows-naam van het eigendom zijn, zoals System.Author of System.Contact.HomeAddress.

Ontwikkelaars moeten de door u opgegeven waarde voor property_name gebruiken om de eigenschap in het CONTAINS predicaat te identificeren. Daarom is het bij het toevoegen van een eigenschap belangrijk om een waarde te specificeren die betekenisvol de eigenschap vertegenwoordigt die wordt gedefinieerd door de gespecificeerde eigenschapsset GUID (property_set_guid) en eigenschapsidentificatie (property_int_id). Voor meer informatie over eigendomsnamen, zie "Opmerkingen," later in dit onderwerp.

Om de namen te bekijken van eigenschappen die momenteel bestaan in een zoek-eigenschapslijst van de huidige database, gebruik je de catalogusweergave sys.registered_search_properties , als volgt:

SELECT property_name FROM sys.registered_search_properties;  

PROPERTY_SET_GUID ='property_set_guid'
Specificeert de identificatie van de eigenschapsset waartoe de eigenschap behoort. Dit is een wereldwijd unieke identificatie (GUID). Voor informatie over het verkrijgen van deze waarde, zie "Opmerkingen," later in dit onderwerp.

Om de property set GUID te bekijken van elke eigenschap die in een zoek-eigenschapslijst van de huidige database staat, gebruik je de catalogusweergave sys.registered_search_properties , als volgt:

SELECT property_set_guid FROM sys.registered_search_properties;  

PROPERTY_INT_ID =property_int_id
Specificeert het geheel getal dat de eigenschap binnen zijn eigenschapsset identificeert. Voor informatie over het verkrijgen van deze waarde, zie "Opmerkingen."

Om de gehele getalidentificatie van een eigenschap die in een zoekeigenschapslijst van de huidige database bestaat te bekijken, gebruik je de catalogusweergave van sys.registered_search_properties , als volgt:

SELECT property_int_id FROM sys.registered_search_properties;  

Note

Een gegeven combinatie van property_set_guid en property_int_id moet uniek zijn in een zoekproperty list. Als je probeert een bestaande combinatie toe te voegen, mislukt de ALTER SEARCH PROPERTY LIST bewerking en geeft een foutmelding. Dit betekent dat je slechts één naam kunt definiëren voor een bepaalde eigenschap.

PROPERTY_DESCRIPTION ='property_description'
Geeft een door de gebruiker gedefinieerde beschrijving van de eigenschap aan. property_description is een reeks van maximaal 512 tekens. Deze optie is optioneel.

DROP
Verwijdert de gespecificeerde eigenschap uit de door list_name gespecificeerde eigenschapslijst. Het verwijderen van een eigenschap maakt deze niet meer geregistreerd, waardoor deze niet langer doorzoekbaar is.

Remarks

Elke full-text index kan slechts één zoekeigenschapslijst hebben.

Om het zoeken naar een bepaalde zoekeigenschap mogelijk te maken, moet je deze toevoegen aan de zoekeigenschapslijst van de full-text index en vervolgens de index opnieuw vullen.

Bij het specificeren van een eigenschap kunt u de PROPERTY_SET_GUID, PROPERTY_INT_ID en PROPERTY_DESCRIPTION clausules in willekeurige volgorde rangschikken als een komma-gescheiden lijst binnen haakjes, bijvoorbeeld:

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   
      );  

Note

Dit voorbeeld gebruikt de eigenschapsnaam, System.Author, die vergelijkbaar is met het concept van canonieke eigenschapsnamen die in Windows Vista werden geïntroduceerd (Windows-canonieke naam).

Vastgoedwaarden verkrijgen

Full-text search koppelt een zoekeigenschap aan een full-text index door gebruik te maken van de property set GUID en property integer ID. Voor informatie over hoe je deze kunt verkrijgen voor eigenschappen die door Microsoft zijn gedefinieerd, zie Find Property Set GUIDs en Property Integer ID's voor Search Properties. Zie de documentatie van die leverancier voor informatie over eigenschappen die zijn gedefinieerd door een onafhankelijke softwareleverancier (ISV).

Toegevoegde eigenschappen doorzoekbaar maken

Het toevoegen van een zoekeigenschap aan een zoekeigenschapslijst registreert de eigendom. Een nieuw toegevoegde eigenschap kan direct worden opgegeven in CONTAINS-queries . Echter, property-scoped full-text queries op een nieuw toegevoegde property geven geen documenten terug totdat de bijbehorende full-text index opnieuw is ingevuld met de juiste tekst. Bijvoorbeeld, de volgende property-scoped query op een nieuw toegevoegde eigenschap, new_search_property, geeft geen documenten terug totdat de full-text index die bij de doel-tabel (table_name) hoort opnieuw is ingevuld is:

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

Om een volledige populatie te starten, gebruik de volgende ALTER FULLTEXT INDEX (Transact-SQL) verklaring:

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

Note

Herbevolking is niet nodig nadat een eigendom uit een eigendomslijst is verwijderd, omdat alleen de eigenschappen die in de zoekproperty list staan, beschikbaar zijn voor volledige tekstquery.

Om een property list te maken

Een vastgoedlijst laten vallen

Om een property list toe te voegen of te verwijderen op een full-text index

Om een populatie te draaien op een volledige tekstindex

Permissions

Vereist CONTROL-toestemming op de vastgoedlijst.

Examples

A. Een eigenschap toevoegen

Het volgende voorbeeld voegt verschillende eigenschappen-Title, Author, en Tags-toe aan een eigenschapslijst met de naam DocumentPropertyList.

Note

Voor een voorbeeld dat een property list aanmaakt DocumentPropertyList , zie 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.' );  

Note

Je moet een bepaalde zoekpropertylijst koppelen aan een full-text index voordat je deze gebruikt voor property-scoped queries. Gebruik hiervoor een ALTER FULLTEXT INDEX statement en specificeer de SETSEARCH PROPERTY LIST clausule.

B. Een eigendom laten vallen

Het volgende voorbeeld verwijdert de Comments eigenschap uit de DocumentPropertyList propertylijst.

ALTER SEARCH PROPERTY LIST DocumentPropertyList  
DROP 'Comments' ;  

Zie ook

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)
Documenteigenschappen zoeken met lijsten met zoekeigenschappen
Kenmerkenreeks-GUID's en kenmerk-integer-ID's vinden voor zoekeigenschappen