Sdílet prostřednictvím


Hledání vlastností dokumentu pomocí seznamů vlastností hledání

platí pro:SQL ServerAzure SQL Databaseazure SQL Managed Instance

Obsah vlastností dokumentu byl dříve nerozlišitelný od obsahu textu dokumentu. Toto omezení omezilo fulltextové dotazy na obecné vyhledávání v celých dokumentech. Teď ale můžete nakonfigurovat fulltextový index tak, aby podporoval vyhledávání omezené na vlastnosti u konkrétních vlastností, jako je například Autor a Název, pro podporované typy dokumentů ve sloupci binárních dat varbinary, varbinary(max) (včetně FILESTREAM) nebo image. Tato forma hledání se označuje jako vyhledávání vlastností .

Přidružený filtr (IFilter) určuje, zda vyhledávání vlastností je možné u konkrétního typu dokumentu. U některých typů dokumentů přidružený IFilter extrahuje některé nebo všechny vlastnosti definované pro tento typ dokumentu a také obsah textu dokumentu. Fulltextový index můžete nakonfigurovat tak, aby podporoval vyhledávání vlastností pouze u vlastností extrahovaných nástrojem IFilter během fulltextového indexování. Mezi IFiltery, které extrahují řadu vlastností dokumentu, jsou IFiltery pro typy dokumentů Microsoft Office (například .docx, .xlsxa .pptx). Na druhou stranu XML IFilter nevygeneruje vlastnosti.

Jak funguje vyhledávání Full-Text s vlastnostmi hledání

Identifikátory interních vlastností

Modul Full-Text libovolně přiřadí každé registrované vlastnosti interní ID vlastnosti, která jedinečně identifikuje vlastnost v daném konkrétním vyhledávacím seznamu a která je specifická pro tento seznam vlastností vyhledávání. Proto pokud je vlastnost přidána do více seznamů vlastností vyhledávání, jeho interní ID vlastnosti se pravděpodobně bude lišit mezi různými seznamy.

Pokud je vlastnost zaregistrována pro vyhledávací seznam, modul Full-Text libovolně přiřadí interní ID vlastnosti . ID interní vlastnosti je celé číslo, které jedinečně identifikuje vlastnost v seznamu vlastností vyhledávání.

Následující obrázek znázorňuje logické zobrazení seznamu vlastností vyhledávání, které určuje dvě vlastnosti: Název a Klíčová slova. Název seznamu vlastností pro klíčová slova je Značky. Tyto vlastnosti patří do stejné sady vlastností, jejíž identifikátor GUID je F29F85E0-4FF9-1068-AB91-08002B27B3D9. Číselné identifikátory vlastností jsou 2 pro název a 5 pro značky (klíčová slova). Modul Full-Text libovolně mapuje každou vlastnost na interní ID vlastnosti, které je jedinečné pro seznam vlastností vyhledávání. Interní ID vlastnosti 'Title' je 1 a interní ID vlastnosti 'Tags' je 2.

Mapování seznamu vlastností vyhledávání na interní tabulku

ID interní vlastnosti se pravděpodobně liší od celočíselného identifikátoru vlastnosti. Pokud je daná vlastnost registrována pro více seznamů vlastností vyhledávání, může být pro každý seznam vlastností vyhledávání přiřazeno jiné INTERNÍ ID vlastnosti. Například id interní vlastnosti může být 4 v jednom seznamu vlastností hledání, 1 v jiném, 3 v jiném atd. Naproti tomu identifikátor celočíselného čísla vlastnosti je vnitřní pro vlastnost a zůstává stejný všude, kde se vlastnost používá.

Indexování registrovaných vlastností

Po přidružení fulltextového indexu k seznamu vlastností vyhledávání musí být index znovu vyplněn pro hledané termíny specifické pro vlastnost. Během fulltextového indexování se obsah všech vlastností uloží do fulltextového indexu spolu s jiným obsahem. Při indexování hledaného termínu nalezeného v registrované vlastnosti však fulltextový indexer také ukládá odpovídající interní ID vlastnosti s termínem. Naproti tomu pokud vlastnost není zaregistrovaná, je uložena v fulltextovém indexu, jako by byla součástí textu dokumentu, a má hodnotu nula pro ID interní vlastnosti.

Následující obrázek znázorňuje logické zobrazení toho, jak se hledané termíny zobrazují v fulltextovém indexu, který je spojený se seznamem vlastností vyhledávání zobrazeným na předchozím obrázku. Ukázkový dokument Document 1 obsahuje tři vlastnosti – Název, Autor a Klíčová slova a text dokumentu. Pro vlastnosti Název a Klíčová slova, které jsou zadány v seznamu vlastností vyhledávání, jsou hledané termíny přidruženy k odpovídajícím interním ID vlastností v fulltextovém indexu. Naproti tomu obsah vlastnosti Author je indexován, jako by byl součástí textu dokumentu. To znamená, že registrace vlastnosti poněkud zvětší velikost fulltextového indexu v závislosti na množství obsahu uloženého ve vlastnosti.

fulltextový index, který používá seznam vlastností vyhledávání

Hledané termíny ve vlastnosti Název-"Oblíbené", "Jízda na kole" a "Stezky"-jsou přidruženy k internímu ID vlastnosti přiřazené Názvu pro tento index, 1. Hledané termíny ve vlastnosti Keywords -"cyklistika" a "mountain"- jsou přidruženy k internímu ID vlastnosti přiřazené k značkám pro tento index, které je 2. Pro hledané termíny ve vlastnosti autora jako "Jane" a "Doe" a hledané termíny v textu dokumentu je interní ID vlastnosti 0. Termín "jízda na kole" se vyskytuje ve vlastnosti Název, ve vlastnosti Klíčová slova (Značky) a v textu dokumentu. Hledání vlastnosti "cyklistika" ve vlastnosti Název nebo Klíčová slova (Štítky) by vrátilo tento dokument ve výsledcích. Obecný fulltextový dotaz na "cyklistiku" by také vrátil tento dokument, jako by index nebyl nakonfigurován pro vyhledávání podle vlastností. Vyhledávání podle vlastnosti "cyklistika" ve vlastnosti Autor by tento dokument nevrátilo.

Fulltextový dotaz omezený na vlastnosti používá ID interních vlastností registrovaných pro aktuální seznam vlastností fulltextového indexu.

Dopad umožnění vyhledávání vlastností

Konfigurace fulltextového indexu tak, aby podporovala vyhledávání na jedné nebo více vlastnostech, se poněkud zvětší velikost indexu v závislosti na počtu vlastností, které zadáte v seznamu vlastností hledání a obsahu každé vlastnosti.

Při testování typických korpusů dokumentů Microsoft Wordu, Excelu a PowerPointu jsme nakonfigurovali fulltextový index pro index typických vlastností hledání. Indexování těchto vlastností zvýšilo velikost fulltextového indexu o přibližně 5 procent. Předpokládáme, že toto přibližné zvětšení velikosti bude typické pro většinu korpusů dokumentů. V konečném důsledku však zvětšení velikosti bude záviset na množství dat vlastností v daném korpusu dokumentu vzhledem k množství celkových dat.

Vytvoření seznamu vlastností vyhledávání a povolení vyhledávání vlastností

Vytvoření seznamu vlastností vyhledávání

Vytvoření seznamu vlastností vyhledávání pomocí jazyka Transact-SQL

Použijte příkaz CREATE SEARCH PROPERTY LIST (Transact-SQL) a zadejte alespoň název seznamu.

Vytvoření seznamu vlastností vyhledávání v sadě Management Studio
  1. V Průzkumníku objektů rozbalte server.

  2. Rozšiřte Databázea potom rozšiřte databázi, ve které chcete vytvořit seznam vlastností vyhledávání.

  3. Rozbalte úložištěa potom klikněte pravým tlačítkem na seznamy vyhledávacích vlastností.

  4. Vyberte nový seznam vlastností hledání.

  5. Zadejte název seznamu vlastností.

  6. Volitelně můžete jako vlastníka seznamu vlastností zadat někoho jiného.

  7. Vyberte jednu z následujících možností:

    • Vytvoření prázdného seznamu vlastností hledání

    • Vytvořit z existujícího seznamu vlastností vyhledávání

    Další informace naleznete v tématu Nový seznam vlastností hledání.

  8. Vyberte OK.

Přidání vlastností do seznamu vlastností hledání

Vyhledávání vlastností vyžaduje vytvoření seznamu vlastností hledání a zadání jedné nebo více vlastností, které chcete prohledávat. Když přidáte vlastnost do seznamu vlastností vyhledávání, tato vlastnost se zaregistruje pro tento konkrétní seznam. Pokud chcete přidat vlastnost do seznamu vlastností vyhledávání, potřebujete následující hodnoty:

  • Identifikátor GUID sady vlastností

    Každá vyhledávací vlastnost patří do jedné sady vlastností, která obsahuje skupinu souvisejících vlastností. Každá sada vlastností je identifikována globálně jedinečným identifikátorem (GUID).

  • Celočíselné identifikátory vlastností

    Každá vlastnost vyhledávání má identifikátor, který je jedinečný v rámci sady vlastností. Pro danou vlastnost může být identifikátor celé číslo nebo řetězec, ale fulltextové vyhledávání podporuje pouze celočíselné identifikátory.

  • Název vlastnosti

    Jedná se o název, který budou uživatelé zadávat v fulltextových dotazech pro vyhledávání vlastnosti. Název vlastnosti může obsahovat vnitřní mezery. Maximální délka je 256 znaků.

    Název vlastnosti může být následující:

    • Kanonický název vlastnosti systému Windows, například System.Author nebo System.Contact.HomeAddress.

    • Uživatelsky přívětivý název, který si uživatelé snadno zapamatuje. Některé vlastnosti jsou spojené s dobře známým uživatelsky přívětivým názvem, například Autor nebo Domovská adresa, ale můžete zadat libovolné jméno, které je pro uživatele nejvhodnější.

    Poznámka

    Daná kombinace GUID sady vlastností a identifikátoru vlastnosti musí být jedinečná v daném seznamu vyhledávacích vlastností. To znamená, že nemůžete přidat stejnou vlastnost více než jednou s různými názvy nebo popisy.

  • Popis vlastnosti (volitelné)

    Při přidávání vlastnosti vyhledávání do seznamu vlastností vyhledávání můžete zadat volitelný popis. Můžete například chtít zadat informace o vlastnosti, která není zřejmé z jejího názvu, nebo můžete chtít popsat sadu vlastností vlastnosti.

Získání hodnot pro seznam vlastností vyhledávání

Viz Identifikátory GUID sady vlastností a ID integer pro vlastnosti hledání.

Přidání vlastnosti do seznamu vlastností vyhledávání pomocí jazyka Transact-SQL

Použijte příkaz ALTER SEARCH PROPERTY LIST (Transact-SQL) s hodnotami, které jste získali pomocí jedné z metod popsaných v článku, Najít IDENTIFIKÁTORy GUID sady vlastností a ID integer pro vlastnosti hledání.

Následující příklad ukazuje použití těchto hodnot při přidání vlastnosti do seznamu vlastností vyhledávání:

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

Přidání vlastnosti do seznamu vlastností vyhledávání v sadě Management Studio

Pomocí dialogového okna Vlastnosti seznamu vlastností hledání přidejte a odeberte vlastnosti hledání. Seznamy vlastností hledání najdete v Průzkumníku objektů v Storage uzlu přidružené databáze.

Přidružení seznamu vlastností vyhledávání k indexu Full-Text

Aby fulltextový index podporoval vyhledávání vlastností u vlastností registrovaných pro seznam vlastností vyhledávání, musíte přidružit seznam vlastností vyhledávání k indexu a znovu ho naplnit. Při opětovném naplnění fulltextového indexu se vytvoří položky indexu specifické pro vlastnost pro hledané termíny v každé z registrovaných vlastností.

Pokud je fulltextový index přidružený k tomuto seznamu vlastností vyhledávání, fulltextový dotaz může použít možnost PROPERTY predikátu CONTAINS k vyhledávání vlastností registrovaných pro tento seznam vlastností vyhledávání.

Pokud změníte seznam vlastností vyhledávání přidružený k fulltextovém indexu, musí být index znovu sestaven, aby byl převeden do konzistentního stavu. Index se zkrátí okamžitě a bude prázdný, dokud se neprovede plné naplnění. Další informace o tom, kdy změna seznamu vlastností vyhledávání způsobí opětovné sestavení indexu, viz "Poznámky" v ALTER FULLTEXT INDEX (Transact-SQL).

Přidružení seznamu vlastností vyhledávání k fulltextovému indexu pomocí jazyka Transact-SQL

Použijte příkaz ALTER FULLTEXT INDEX (Transact-SQL) s klauzulí SET SEARCH PROPERTY LIST = <property_list_name>.

Přidružení seznamu vlastností vyhledávání k fulltextovému indexu pomocí Management Studio

Zadejte hodnotu pro seznam vlastností hledání na stránce Obecné dialogového okna Index vlastností Full-Text.

Dotazování vlastností hledání pomocí funkce CONTAINS

Základní syntaxe fulltextového dotazu v rámci vlastnosti je následující: CONTAINS

SELECT column_name FROM table_name  
  WHERE CONTAINS ( PROPERTY ( column_name, 'property_name' ), '<contains_search_condition>' )  

Například následující dotaz vyhledá indexovanou vlastnost Titleve sloupci Document tabulky Production.Document databáze AdventureWorks. Dotaz vrátí pouze dokumenty, jejichž vlastnost Title obsahuje řetězec Maintenance nebo Repair

USE AdventureWorks2022;
GO  
SELECT Document FROM Production.Document  
  WHERE CONTAINS ( PROPERTY ( Document, 'Title' ), 'Maintenance OR Repair')  
GO  

Tento příklad předpokládá, že IFilter pro dokument extrahuje vlastnost Název, že vlastnost Název je přidána do seznamu vlastností vyhledávání a že tento seznam je přidružen k fulltextovému indexu.

Správa seznamů vlastností vyhledávání

Zobrazení a změna seznamu vlastností vyhledávání

Změna seznamu vlastností vyhledávání pomocí jazyka Transact-SQL

Pomocí příkazu ALTER SEARCH PROPERTY LIST (Transact-SQL) přidejte nebo odeberte vlastnosti hledání.

Zobrazení a změna seznamu vlastností vyhledávání v sadě Management Studio
  1. V Průzkumníku objektů rozbalte server.

  2. Rozbalte Databázea potom databázi rozbalte.

  3. Rozbalte úložiště.

  4. Rozbalte Seznamy vlastností hledání, aby se zobrazily seznamy vlastností hledání.

  5. Klepněte pravým tlačítkem myši na seznam vlastností a vyberte Vlastnosti.

  6. V dialogovém okně Editor seznamu vlastností vyhledávání použijte mřížku vlastností pro přidání nebo odebrání vlastností vyhledávání:

    1. Pokud chcete odebrat vlastnost dokumentu, klikněte na záhlaví řádku vlevo od vlastnosti a stiskněte DEL.

    2. Pokud chcete přidat vlastnost dokumentu, klikněte do prázdného řádku v dolní části seznamu napravo od *a zadejte hodnoty nové vlastnosti.

      Informace o těchto hodnotách naleznete v tématu Editor seznamu vlastností vyhledávání. Informace o tom, jak získat tyto hodnoty pro vlastnosti definované společností Microsoft, naleznete v tématu Najít identifikátory GUID sady vlastností a ID integer pro vlastnosti hledání. Informace o vlastnostech definovaných nezávislým dodavatelem softwaru (ISV) najdete v dokumentaci tohoto dodavatele.

  7. Vyberte OK.

Odstranění seznamu vlastností vyhledávání

Seznam vlastností nelze odstranit z databáze, pokud je tento seznam přidružený k žádnému fulltextového indexu.

Odstranění seznamu vlastností vyhledávání pomocí jazyka Transact-SQL

Použijte příkaz DROP SEARCH PROPERTY LIST (Transact-SQL).

Chcete-li odstranit seznam vlastností vyhledávání v Management Studiu
  1. V Průzkumníku objektů rozbalte server.

  2. Rozbalte Databázea potom otevřete databázi.

  3. Rozbalte úložiště a poté rozbalte uzel Seznamy vlastností hledání .

  4. Klikněte pravým tlačítkem myši na seznam vlastností, který chcete odstranit, a klikněte na Odstranit.

  5. Vyberte OK.

Viz také

Najít identifikátory GUID sady vlastností a celočíselné ID pro vlastnosti hledání
Konfigurace a správa filtrů pro vyhledávací