Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure 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.
Verwante verwijzingen
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