ALTER SEARCH PROPERTY LIST (Transact-SQL)

Platí na:SQL ServerAzureSQL Managed Instance

Přidává specifikovanou vyhledávací vlastnost do seznamu požadovaných vyhledávacích vlastností nebo ji z ní vymazává.

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
Je název seznamu nemovitostí, který se mění? list_name je identifikátor.

Pro zobrazení názvů existujících seznamů nemovitostí použijte sys.registered_search_property_lists katalogový pohled, a to následovně:

SELECT name FROM sys.registered_search_property_lists;  

ADD
Přidává specifikovanou vyhledávací vlastnost do seznamu vlastností určených list_name. Nemovitost je registrována pro vyhledávání nemovitostí v seznamu nemovitostí. Než lze nově přidané vlastnosti použít pro vyhledávání vlastností, musí být přidružený plnotextový index nebo indexy znovu doplněny. Další informace najdete v tématu ALTER FULLTEXT INDEX (Transact-SQL).

Note

Pro přidání dané vyhledávací vlastnosti do seznamu vyhledávacích vlastností musíte zadat její GUID (property_set_guid) a vlastnost int ID (property_int_id). Pro více informací viz "Získání GUIDS a identifikátorů sad vlastností" později v tomto tématu.

property_name
Specifikuje název, který má být použit k identifikaci vlastnosti v plnotextových dotazech. property_name musí jednoznačně identifikovat vlastnost v rámci této množiny vlastností. Název vlastnosti může obsahovat vnitřní mezery. Maximální délka property_name je 256 znaků. Toto jméno může být uživatelsky přívětivé, například Author nebo Home Address, nebo může být kanonickým názvem vlastnosti ve Windows, například System.Author nebo System.Contact.HomeAddress.

Vývojáři budou muset použít hodnotu, kterou pro property_name určíte, aby identifikovali vlastnost v predikátu CONTAINS . Proto je při přidávání vlastnosti důležité specifikovat hodnotu, která smysluplně reprezentuje vlastnost definovanou specifikovanou sadou vlastností GUID (property_set_guid) a identifikátorem vlastnosti (property_int_id). Pro více informací o názvech nemovitostí viz "Poznámky" později v tomto tématu.

Pro zobrazení názvů vlastností, které aktuálně existují v seznamu vyhledávacích vlastností aktuální databáze, použijte sys.registered_search_properties katalogový pohled, a to následovně:

SELECT property_name FROM sys.registered_search_properties;  

PROPERTY_SET_GUID ='property_set_guid'
Specifikuje identifikátor množiny vlastností, do které vlastnost patří. Jedná se o globálně jedinečný identifikátor (GUID). Informace o získání této hodnoty najdete v části "Poznámky" později v tomto tématu.

Pro zobrazení GUID sady vlastností jakékoli vlastnosti v seznamu vlastností aktuální databáze použijte sys.registered_search_properties katalogový pohled, a to následovně:

SELECT property_set_guid FROM sys.registered_search_properties;  

PROPERTY_INT_ID =property_int_id
Specifikuje celé číslo, které identifikuje vlastnost v rámci své množiny vlastností. Informace o získání této hodnoty najdete v části "Poznámky."

Pro zobrazení celočíselného identifikátoru jakékoli vlastnosti, která existuje v seznamu vyhledávacích vlastností aktuální databáze, použijte sys.registered_search_properties katalogový pohled, a to následovně:

SELECT property_int_id FROM sys.registered_search_properties;  

Note

Kombinace property_set_guid a property_int_id musí být v seznamu vyhledávacích vlastností jedinečná. Pokud se pokusíte přidat existující kombinaci, ALTER SEARCH PROPERTY LIST operace selže a zobrazí se chyba. To znamená, že pro danou vlastnost můžete definovat pouze jeden název.

PROPERTY_DESCRIPTION ='property_description'
Specifikuje uživatelsky definovaný popis vlastnosti. property_description je řetězec až 512 znaků. Tato možnost je volitelná.

DROP
Vyřadí zadanou vlastnost ze seznamu vlastností určeného list_name. Vynechání vlastnosti ji odregistruje, takže už není vyhledávatelná.

Remarks

Každý plnotextový index může mít pouze jeden seznam vyhledávacích vlastností.

Pro povolení dotazování na danou vyhledávací vlastnost musíte ji přidat do seznamu vlastností vyhledávání v indexu plného textu a poté znovu doplnit index.

Při specifikaci vlastnosti můžete uspořádat klauzule PROPERTY_SET_GUID, PROPERTY_INT_ID a PROPERTY_DESCRIPTION v libovolném pořadí, například jako seznam oddělený čárkami v závorkách:

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

Tento příklad používá název System.Authorvlastnosti , což je podobné konceptu kanonických jmen vlastností zavedenému ve Windows Vista (kanonický název Windows).

Získávání hodnot nemovitostí

Fulltextové vyhledávání mapuje vyhledávací vlastnost na index s plným textem pomocí jeho sady vlastností GUID a celočíselného ID vlastnosti. Pro informace o tom, jak je získat pro vlastnosti definované Microsoft, viz Najít GUIDy sad vlastností a Identifikátory celočíselných vlastností pro vyhledávací vlastnosti. Informace o vlastnostech definovaných nezávislým dodavatelem softwaru (ISV) najdete v dokumentaci tohoto dodavatele.

Zpřístupnění dalších vlastností k vyhledávání

Přidání vyhledávací vlastnosti do seznamu vyhledávacích vlastností zaregistruje tuto vlastnost. Nově přidanou vlastnost lze okamžitě zadat v dotazech OBSAHU . Nicméně plnotextové dotazy zaměřené na vlastnosti na nově přidané vlastnosti nevrátí dokumenty, dokud není znovu naplněn příslušný plnotextový index. Například následující dotaz zaměřený na vlastnosti na nově přidanou vlastnost, new_search_property, nevrátí žádné dokumenty, dokud není znovu vyplněn celý textový index přiřazený k cílové tabulce (table_name):

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

Pro zahájení plné populace použijte ALTER FULLTEXT INDEX následující (Transact-SQL) tvrzení:

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

Note

Obnova není potřeba po vyřazení nemovitosti ze seznamu nemovitostí, protože pro dotazování v plném textu jsou dostupné pouze nemovitosti, které zůstaly v seznamu vyhledávacích nemovitostí.

Pro vytvoření seznamu nemovitostí

Zrušit seznam nemovitostí

Pro přidání nebo odstranění seznamu vlastností v indexu plného textu

Pro spuštění populace na plnotextovém indexu

Permissions

Vyžaduje povolení CONTROL na seznamu nemovitostí.

Examples

A. Přidání vlastnosti

Následující příklad přidává několik vlastností-Title, Author, a Tags-do seznamu vlastností nazvaného DocumentPropertyList.

Note

Pro příklad, který vytváří DocumentPropertyList seznam vlastností, viz 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

Musíte přiřazen danému seznamu vlastností vyhledávání s indexem plného textu, než ho použijete pro dotazy s rozsahem vlastností. K tomu použijte ALTER FULLTEXT INDEX příkaz a specifikujte klauzuli SETSEARCH PROPERTY LIST .

B. Zrušení nemovitosti

Následující příklad vyřadí Comments tuto vlastnost ze seznamu nemovitostí DocumentPropertyList .

ALTER SEARCH PROPERTY LIST DocumentPropertyList  
DROP 'Comments' ;