Dokumentumtulajdonságok keresése keresési tulajdonságlistákkal

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseAzure SQL Felügyelt Példány

Konfigurálhat egy teljes szövegű indexet úgy, hogy az támogassa az adott tulajdonságokra korlátozott keresést bizonyos tulajdonságokon, például az Author és a Title tulajdonságon, a támogatott dokumentumtípusokhoz tartozó varbinary(max) (beleértve a FILESTREAM-et is) vagy image bináris adatokat tartalmazó oszlopában. E konfiguráció nélkül a teljes szöveges lekérdezések általános kereséseket végeznek az egész dokumentumon, anélkül, hogy megkülönböztetnék a tulajdonság tartalmát a törzstartalomtól. Ezt a tulajdonság-területű keresési formát tulajdonságkeresésnek nevezik.

A társított szűrő (IFilter) határozza meg, hogy a tulajdonságkeresés lehetséges-e egy adott dokumentumtípuson. Egyes dokumentumtípusok esetében a társított IFilter kinyeri az adott dokumentumtípushoz definiált tulajdonságok egy részét vagy egészét, valamint a dokumentum törzsének tartalmát. A teljes szöveges indexek úgy konfigurálhatók, hogy csak az IFilter által a teljes szöveges indexelés során kinyert tulajdonságokon támogassák a tulajdonságkeresést. Az IFilterek között, amelyek számos dokumentumtulajdonságot kinyernek, az IFilterek a Microsoft Office dokumentumtípusokhoz (például .docx, .xlsx, és .pptx). Másrészt az XML IFilter nem bocsát ki tulajdonságokat.

Hogyan működik a Full-Text Search a keresési tulajdonságokkal.

Full-Text Keresés támogatja az ingatlankeresést azáltal, hogy minden regisztrált tulajdonsághoz belső tulajdonságazonosítót rendel, és ezeket az ID-ket teljes szöveges indexben tárolja.

Belső tulajdonságazonosítók

A Full-Text motor tetszőlegesen hozzárendel minden regisztrált tulajdonsághoz egy belső tulajdonságazonosítót, amely egyedileg azonosítja a tulajdonságot az adott keresési listában, és amely az adott keresési tulajdonságlistára jellemző. Ezért ha egy tulajdonság több keresési tulajdonságlistához van hozzáadva, a belső tulajdonságazonosítója valószínűleg különbözik a különböző listáktól.

Ha egy tulajdonság regisztrálva van egy keresési listára, a Full-Text motor önkényesen hozzárendel egy belső tulajdonságazonosítót a tulajdonsághoz. A belső tulajdonságazonosító egy egész szám, amely egyedileg azonosítja a tulajdonságot a keresési tulajdonságlistában.

Az alábbi ábrán egy olyan keresési tulajdonságlista logikai nézete látható, amely két tulajdonságot, a címet és a kulcsszavakat határozza meg. A Kulcsszavak tulajdonságlistájának neve: Tags. Ezek a tulajdonságok ugyanahhoz a tulajdonsághalmazhoz tartoznak, amelynek GUID-je .f29f85e0-4ff9-1068-ab91-08002b27b3d9 A tulajdonság egész számának azonosítója 2 a Cím és 5 a Címkék (Kulcsszavak) esetében. A Full-Text motor tetszőlegesen leképzi az egyes tulajdonságokat egy belső tulajdonságazonosítóra, amely egyedi a keresési tulajdonságok listájában. A Cím tulajdonság belső tulajdonságazonosítója 1, a Címkék tulajdonság belső tulajdonságazonosítója pedig 2.

Képernyőkép a keresési tulajdonságlista belső táblázathoz való leképezéséről.

A belső tulajdonságazonosító valószínűleg eltér a tulajdonság egész számának azonosítójától. Ha egy adott tulajdonság több keresési tulajdonságlistára van regisztrálva, minden keresési tulajdonságlistához más belső tulajdonságazonosító rendelhető. A belső tulajdonságazonosító lehet például 4 az egyik keresési tulajdonságlistában, 1 a másikban, 3 a másikban stb. Ezzel szemben a tulajdonság egész számazonosítója a tulajdonság belső része, és ugyanaz marad, ahol a tulajdonságot használják.

A bejegyzett ingatlanok indexe

Miután egy teljes szöveges index egy keresési tulajdonságlistához van társítva, az indexet újra kell feltölteni az indextulajdonság-specifikus keresési kifejezések közé. A teljes szöveges indexelés során a rendszer az összes tulajdonság tartalmát a teljes szöveges indexben tárolja a többi tartalommal együtt. Ha azonban egy regisztrált tulajdonságban található keresési kifejezést indexel, a teljes szöveges indexelő a megfelelő belső tulajdonságazonosítót is a kifejezéssel együtt tárolja. Ezzel szemben, ha egy tulajdonság nincs regisztrálva, akkor a teljes szöveges indexben tárolják, mintha a dokumentum törzsének része lenne, és a belső tulajdonságazonosító értéke nulla.

Az alábbi ábra egy logikai nézetet mutat be arról, hogyan jelennek meg a keresési kifejezések egy teljes szöveges indexben, amely az előző ábrán látható keresési tulajdonságlistához van társítva. Egy mintadokumentum, az 1. dokumentum, három tulajdonságot tartalmaz (Cím, Szerző és Kulcsszavak), valamint a dokumentum törzsét. A keresési tulajdonságlistában megadott Cím és kulcsszavak tulajdonságok esetében a keresési kifejezések a teljes szöveges index megfelelő belső tulajdonságazonosítóihoz vannak társítva. Ezzel szemben a Szerző tulajdonság tartalma úgy van indexelve, mintha a dokumentum törzsének része lenne. Ez azt jelenti, hogy a tulajdonság regisztrálása némileg növeli a teljes szöveges index méretét a tulajdonságban tárolt tartalom mennyiségétől függően.

Teljes szöveges indexről készült képernyőkép, amely kereső tulajdonságlistát használ.

A Cím tulajdonságban szereplő keresési kifejezések (Favorite, Biking és Trails) az ehhez az indexhez a Címhez rendelt 1-es belső tulajdonságazonosítóhoz vannak társítva. A Keywords tulajdonságban (biking és mountain) szereplő keresőkifejezések az ehhez az indexhez a Címkékhez rendelt 2-es belső tulajdonságazonosítóhoz vannak társítva. A Szerző tulajdonság (Jane és Doe) keresési kifejezéseinél és a dokumentum testében lévő keresési kifejezéseknél a belső tulajdonságazonosító 0. A kifejezés biking a Title tulajdonságban, a Keywords (Tags) tulajdonságban és a dokumentum testében is előfordul. Ha a Cím vagy a Kulcsszavak (címkék) tulajdonságban a(z) biking értékre keres, ez a dokumentum megjelenik a találatok között. Egy általános teljes szövegű lekérdezés biking elemre is visszaadná ezt a dokumentumot, mintha az index nem lett volna beállítva tulajdonság szerinti keresésre. Az Author tulajdonságban a(z) biking értékre végzett tulajdonságkeresés nem adná vissza ezt a dokumentumot.

A tulajdonsághatókörű teljes szöveges lekérdezések a teljes szöveges index aktuális keresési tulajdonságlistájához regisztrált belső tulajdonságazonosítókat használják.

Az ingatlankeresés engedélyezésének hatása

Ha egy teljes szöveges indexet úgy konfigurál, hogy támogassa egy vagy több tulajdonság keresését, némileg növeli az index méretét a keresési tulajdonságlistában megadott tulajdonságok számától és az egyes tulajdonságok tartalmától függően.

A Microsoft Word, Excel és PowerPoint dokumentumok tipikus korpuszainak tesztelése során egy teljes szöveges indexet konfiguráltak, hogy indexelje a tipikus keresési tulajdonságokat. Ezeknek a tulajdonságoknak az indexelése körülbelül 5 százalékkal növelte a teljes szöveges index méretét. Ez a hozzávetőleges méretnövekedés valószínűleg jellemző a legtöbb dokumentumkorptusra. Végső soron azonban a méretnövekedés attól függ, hogy mennyi tulajdonság adatai vannak egy adott dokumentumkorpuszban az összes adat összegéhez viszonyítva.

Az ingatlankeresés engedélyezéséhez hozzon létre egy kereső tulajdonságlistát, adjon hozzá egy vagy több tulajdonságot, majd társítsa a listát egy teljes szöveges indexgel.

Hozzon létre kereső tulajdonságlistát

Készíts kereső tulajdonságlistát Transact-SQL vagy SQL Server Management Studio használatával.

Hozzon létre kereső tulajdonságlistát Transact-SQL

Használd az CREATE SEARCH PROPERTY LIST állítást, és adj meg legalább egy nevet a listának.

Hozzon létre keresési tulajdonságlistát az SQL Server Management Studio-ban

  1. Az Object Explorerben bontsa ki a kiszolgálót.

  2. Bontsa ki Adatbázisok, majd bontsa ki azt az adatbázist, amelyben létre szeretné hozni a keresési tulajdonságlistát.

  3. Bontsa ki Storage, majd kattintson a jobb gombbal Keresési tulajdonságlistákelemre.

  4. Válassza Új keresési tulajdonságlistalehetőséget.

  5. Adja meg a tulajdonságlista nevét.

  6. Opcionálisan jelölhet meg valaki mást a tulajdonlista tulajdonosaként.

  7. Válasszon az alábbi lehetőségek közül:

    • Üres keresési tulajdonságlista létrehozása

    • Létrehozás meglévő keresési tulajdonságlistából

    További információért lásd CREATE SEARCH PROPERTY LIST.

  8. Válassza OKlehetőséget.

Tulajdonságok hozzáadása egy kereső tulajdonságlistához

A tulajdonságkereséshez létre kell hoznia egy keresési tulajdonságlistát, és meg kell adnia egy vagy több olyan tulajdonságot, amelyet kereshetővé szeretne tenni. Amikor hozzáad egy tulajdonságot egy keresési tulajdonságlistához, a tulajdonság regisztrálva lesz az adott listához. Ha tulajdonságot szeretne hozzáadni egy keresési tulajdonságlistához, a következő értékekre van szüksége:

  • Tulajdonságkészlet GUID

    Minden keresési tulajdonság egyetlen tulajdonságkészlethez tartozik, amely a kapcsolódó tulajdonságok egy csoportját tartalmazza. Minden tulajdonságkészletet globálisan egyedi azonosító (GUID) azonosít.

  • Tulajdonság egész számának azonosítója

    Minden keresési tulajdonság rendelkezik a tulajdonságkészleten belül egyedi azonosítóval. Egy adott tulajdonság esetében az azonosító lehet egész szám vagy sztring, de a teljes szöveges keresés csak egész számazonosítókat támogat.

  • Tulajdonság neve

    Ez az a név, amelyet a felhasználók teljes szöveges lekérdezésekben meg fognak adni a tulajdonságban való kereséshez. A tulajdonságnevek belső szóközöket tartalmazhatnak. A maximális hossz 256 karakter.

    A tulajdonság neve az alábbiak bármelyike lehet:

    • A tulajdonság Windows kanonikus neve, például System.Author vagy System.Contact.HomeAddress.

    • Felhasználóbarát név, amely könnyen megjegyezhető a felhasználók számára. Egyes tulajdonságok egy jól ismert felhasználóbarát névvel vannak társítva, például "Szerző" vagy "Otthoni cím", de megadhatja, hogy melyik név a legmegfelelőbb a felhasználók számára.

    Jegyzet

    A guid tulajdonságkészlet és a tulajdonságazonosító adott kombinációjának egyedinek kell lennie egy adott keresési tulajdonságlistában. Ez azt jelenti, hogy ugyanazt a tulajdonságot nem lehet többször hozzáadni különböző nevekkel vagy leírásokkal.

  • Tulajdonság leírása (nem kötelező)

    Ha keresési tulajdonságot ad hozzá egy keresési tulajdonságlistához, megadhat egy opcionális leírást. Például olyan információt szeretnél adni egy olyan tulajdonságról, amely nem tűnik ki a nevéből, vagy leírhatod az ingatlan tulajdonsághalmazát.

Keresési tulajdonságlista értékeinek lekérése

Lásd: A keresési tulajdonságokhoz tartozó tulajdonságkészlet-GUID-k és egész számú tulajdonságazonosítók megkeresése.

Tulajdonság hozzáadása egy keresési tulajdonságlistához a Transact-SQLben

Használd a ALTER SEARCH PROPERTY LIST utasítást a Tulajdonságkészlet-GUID-ok és tulajdonságok egész azonosítóinak keresése a keresési tulajdonságokhoz című cikkben ismertetett módszerek egyikével kapott értékekkel.

Az alábbi példa bemutatja ezeknek az értékeknek a használatát, amikor tulajdonságot ad hozzá egy keresési tulajdonságlistához:

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

Adjon egy tulajdonságot kereső tulajdonságlistához az SQL Server Management Studio-ban

A keresési tulajdonságok hozzáadásához és eltávolításához használja a Keresési tulajdonságlista tulajdonságai párbeszédpanelt. A keresési tulajdonságlisták az Objektumböngészőben a kapcsolódó adatbázis tárolási nódusa alatt található.

Társíts egy keresési tulajdonságlistát egy teljes szöveges indexhez

Ahhoz, hogy egy teljes szöveges index támogassa a tulajdonságkeresést a keresési tulajdonságlistára regisztrált tulajdonságokon, társítania kell a keresési tulajdonságlistát az indexhez, és újra kell feltöltenie az indexet. A teljes szöveges index újratöltése tulajdonságspecifikus indexbejegyzéseket hoz létre a keresési kifejezésekhez az egyes regisztrált tulajdonságokban.

Amíg a teljes szöveges index ehhez a keresési tulajdonságlistához kapcsolódik, egy teljes szöveges lekérdezés használhatja PROPERTY a CONTAINS predikátum opcióját, hogy keressen olyan tulajdonságokon, amelyek regisztrálva vannak az adott tulajdonságlistára.

Ha módosítja a teljes szöveges indexhez társított keresési tulajdonságlistát, akkor az indexet újra kell létrehozni, hogy konzisztens állapotba hozza. Az indexet azonnal csonkolja a program, és üres marad, amíg a teljes feltöltés végbe nem megy. További információért arról, hogy mikor okozza az index újraépítését a keresési tulajdonságlista megváltoztatása, lásd a "Megjegyzések" című részt .ALTER FULLTEXT INDEX

Társíts egy keresési tulajdonságlistát egy teljes szöveges indexhez Transact-SQL

Használja a ALTER FULLTEXT INDEX utasítást a SET SEARCH PROPERTY LIST = <property_list_name> záradékkal.

Társíts egy keresési tulajdonságlistát egy teljes szöveges indexhez az SQL Server Management Studio-ban

Adja meg Keresési tulajdonságlista értékét a Full-Text Index tulajdonságai párbeszédpanel Általános lapján.

Lekérdezéskeresési tulajdonságok CONTAINS-szel

A tulajdonság hatókörű teljes szöveges lekérdezés alapszintű CONTAINS szintaxisa a következő:

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

Az alábbi lekérdezés például egy indexelt tulajdonságban keres, Titlea Document adatbázis Production.Document táblájának AdventureWorks oszlopában. A lekérdezés csak azokat a dokumentumokat adja vissza, amelyek Title tulajdonságai tartalmazza a stringet Maintenance vagy Repair.

USE AdventureWorks2025;
GO

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

Ez a példa feltételezi, hogy a dokumentum IFiltere kinyeri a Cím tulajdonságát, hozzáadja a Cím tulajdonságot a keresési tulajdonságok listájához, és hogy a keresési tulajdonságlista a teljes szöveges indexhez van társítva.

Keresési tulajdonságlisták kezelése

Miután létrehoztál egy kereső tulajdonságlistát, megtekintheted, módosíthatod vagy törölheted.

Keresési tulajdonságlista megtekintése és módosítása

Tekintse meg és változtass meg a keresési tulajdonságlistát Transact-SQL vagy SQL Server Management Studio használatával.

Tekintse meg és változtass egy kereső tulajdonságlistát Transact-SQL

Használd az ALTER SEARCH PROPERTY LIST utasítást keresési tulajdonságok hozzáadására vagy törlésére.

Tekintse meg és változtasson egy kereső tulajdonságlistát az SQL Server Management Studio-ban

  1. Az Object Explorerben bontsa ki a kiszolgálót.

  2. Bontsa ki a adatbázisokelemet, majd bontsa ki az adatbázist.

  3. Bővítse Storage.

  4. Nyissa meg a keresési tulajdonságlistákat a megjelenítésükhöz.

  5. Kattintson a jobb gombbal a tulajdonságlistára, és válassza a Tulajdonságoklehetőséget.

  6. A Keresési tulajdonságlista-szerkesztő párbeszédpanelen a Tulajdonságok rács használatával adhat hozzá vagy távolíthat el keresési tulajdonságokat:

    1. Egy dokumentum tulajdonság eltávolításához válaszd ki a tulajdonság bal oldalán lévő sorfejlécet, és nyomd meg a DEL gombot.
  7. Dokumentumtulajdonság hozzáadásához válaszd ki a lista *alján, a jobb oldalon lévő üres sort, és add be az új tulajdonság értékeit.

    Ezekről az értékekről további információt a Keresési tulajdonságlista-szerkesztőcímű témakörben talál. A Microsoft által definiált tulajdonságokhoz ezen értékek beszerzésére vonatkozó információkért lásd: Tulajdonságkészlet-GUID azonosítók és tulajdonságok egész szám azonosítóinak megkeresése keresési tulajdonságokhoz. A független szoftverszállító (ISV) által definiált tulajdonságokról az adott szállító dokumentációjában tájékozódhat.

  8. Válassza OKlehetőséget.

Töröld a keresési tulajdonságlistát

Nem lehet egy tulajdonságlistát eltávolítani adatbázisból, amíg az a lista bármely teljes szöveges indexhez van kötve.

Törölj egy kereső tulajdonságlistát Transact-SQL

Használja a DROP SEARCH PROPERTY LIST utasítást.

Töröld a keresési tulajdonságlistát az SQL Server Management Studio-ban

  1. Az Object Explorerben bontsa ki a kiszolgálót.

  2. Bontsa ki a adatbázisokelemet, majd bontsa ki az adatbázist.

  3. Bontsa ki a Storage-t, majd bontsa ki a Keresési tulajdonságok listája csomópontot.

  4. Jobb kattints a törölni kívánt tulajdonságlistára, és válaszd a Törlést.

  5. Válassza OKlehetőséget.