Aracılığıyla paylaş


Arama Özelliği Listeleriyle Belge Özelliklerini Ara

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

Belge özelliklerinin içeriği daha önce belge gövdesinin içeriğinden ayırt edilemezdi. Bu sınırlama, tam metin sorgularını tüm belgelerde genel aramalarla kısıtlar. Ancak artık, varbinary, varbinary(max) (FILESTREAMdahil) ya da görüntü ikili veri sütunu içinde Yazar ve Başlık gibi belirli özellikler üzerinde özellik alanı kapsamlı aramayı desteklemek üzere bir tam metin dizini yapılandırmanızı yapabilirsiniz. Bu arama biçimi, özellik aramaolarak bilinir.

İlişkili filtresi (IFilter), belirli bir belge türünde özellik aramanın mümkün olup olmadığını belirler. Bazı belge türleri için, ilişkili IFilter bu belge türü için tanımlanan özelliklerin bir kısmını veya tümünü ve belge gövdesinin içeriğini ayıklar. Tam metin dizinini, yalnızca tam metin dizini oluşturma sırasında bir IFilter tarafından ayıklanan özelliklerde arama özelliğini destekleyecek şekilde yapılandırabilirsiniz. Bir dizi belge özelliğini ayıklayan IFilter'lar arasında Microsoft Office belge türleri (.docx, .xlsxve .pptxgibi) için IFilters vardır. Öte yandan, XML IFilter özellikleri yaymaz.

Full-Text Arama, Arama Özellikleriyle Nasıl Çalışır?

İç Mülk Kimlikleri

Full-Text Altyapısı, kayıtlı her özelliğe, söz konusu arama listesindeki özelliği benzersiz olarak tanımlayan ve bu arama özelliği listesine özgü olan bir iç özellik kimliği atar. Bu nedenle, bir özellik birden çok arama özelliği listesi eklenirse, iç özellik kimliği farklı listeler arasında farklılık gösterebilir.

Bir özellik arama listesine kaydedildiğinde, Full-Text Altyapısı isteğe bağlı olarak özelliğe bir iç özellik kimliği atar. İç özellik kimliği, bu arama özelliği listesindeki özelliği benzersiz olarak tanımlayan bir tamsayıdır.

Aşağıdaki çizimde, Başlık ve Anahtar Sözcükler adlı iki özelliği belirten bir arama özelliği listesinin mantıksal görünümü gösterilmektedir. Anahtar Sözcükler için özellik listesi adı "Etiketler"dir. Bu özellikler, GUID değeri F29F85E0-4FF9-1068-AB91-08002B27B3D9 olan aynı özellik kümesine aittir. Özellik tamsayı tanımlayıcıları Başlık için 2 ve Etiketler (Anahtar Sözcükler) için 5'tir. Full-Text Altyapısı, her özelliği rastgele olarak arama özelliği listesine özgü bir iç özellik kimliğiyle eşler. Title özelliğinin iç özellik kimliği 1 ve Tags özelliğinin iç özellik kimliği 2'dir.

Arama özelliği listesini iç tabloyla eşleme

İç özellik kimliği, özelliğin özellik tamsayı tanımlayıcısından farklı olabilir. Belirli bir özellik birden çok arama özelliği listesi için kayıtlıysa, her arama özelliği listesi için farklı bir iç özellik kimliği atanabilir. Örneğin, iç özellik kimliği bir arama özelliği listesinde 4, diğerinde 1, başka bir özellikte 3 vb. olabilir. Buna karşılık, özellik tamsayı tanımlayıcısı özelliğin iç değeridir ve özelliğin kullanıldığı her yerde aynı kalır.

Kayıtlı Özelliklerin Dizini Oluşturma

Tam metin dizini bir arama özelliği listesiyle ilişkilendirildikten sonra dizin, özelliğe özgü arama terimlerinin dizinine yeniden doldurulmalıdır. Tam metin dizini oluşturma sırasında, tüm özelliklerin içeriği diğer içerikle birlikte tam metin dizininde depolanır. Ancak, kayıtlı bir özellikte bulunan bir arama teriminin dizinini oluştururken, tam metin dizin oluşturucu da terimle ilgili iç özellik kimliğini depolar. Buna karşılık, bir özellik kayıtlı değilse, belge gövdesinin bir parçasıymış gibi tam metin dizininde depolanır ve iç özellik kimliği için sıfır değerine sahiptir.

Aşağıdaki çizimde, önceki çizimde gösterilen arama özelliği listesiyle ilişkilendirilmiş tam metin dizininde arama terimlerinin nasıl göründüğüne ilişkin mantıksal bir görünüm gösterilmektedir. Örnek bir belge olan Belge 1, belge gövdesinin yanı sıra başlık, yazar ve anahtar sözcükler olmak üzere üç özellik içerir. Arama özelliği listesinde belirtilen Başlık ve Anahtar Sözcükler özellikleri için, arama terimleri tam metin dizinindeki ilgili iç özellik kimlikleriyle ilişkilendirilir. Buna karşılık, Author özelliğinin içeriği belge gövdesinin bir parçasıymış gibi dizine eklenir. Bu, özelliğin kaydedilmesinin, özellikte depolanan içerik miktarına bağlı olarak tam metin dizininin boyutunu bir şekilde artırdığı anlamına gelir.

Arama özelliği listesi kullanan tam metin dizini

Başlık özelliğindeki "Sık Kullanılan", "Bisiklet" ve "İzler" terimleri, bu dizin için Title'a atanan ve iç özellik kimliği 1 olan numarayla ilişkilidir. Anahtar Kelimeler özelliğindeki "biking" ve "mountain" arama terimleri, bu dizindeki Etiketlere atanan iç özellik kimliğiyle, 2, ilişkilidir. Yazar özelliğindeki "Jane" ve "Doe" arama terimleri ve belge gövdesindeki arama terimleri için iç özellik kimliği 0'dır. "Bisiklete bindir" terimi Title özelliğinde, Anahtar Sözcükler (Etiketler) özelliğinde ve belge gövdesinde gerçekleşir. Başlık veya Anahtar Sözcükler (Etiketler) özelliğinde "bisiklet" için bir özellik araması bu belgeyi sonuçlarda döndürür. "Bisiklet sürme" için genel bir tam metin sorgusu, dizin özellik araması için yapılandırılmamış gibi bu belgeyi de döndürür. Author özelliğinde "bisiklet" için yapılan bir özellik araması bu belgeyi döndürmez.

Özellik kapsamlı bir tam metin sorgusu, tam metin dizininin geçerli arama özellik listesi için kaydedilen iç özellik kimliklerini kullanır.

Özellik Aramasını Etkinleştirmenin Etkisi

Bir veya daha fazla özellikte aramayı desteklemek için tam metin dizininin yapılandırılması, arama özelliği listenizde ve her özelliğin içeriğinde belirttiğiniz özelliklerin sayısına bağlı olarak dizinin boyutunu biraz artırır.

Microsoft Word, Excel ve PowerPoint tipik belgeler kümesini test ederken, tipik arama özelliklerini indekslemek için tam metin dizini yapılandırdık. Bu özelliklerin dizinlenmesi, tam metin dizin boyutunun boyutunu yaklaşık yüzde 5 artırdı. Bu yaklaşık boyut artışının çoğu belge corpuses için tipik olacağını tahmin ediyoruz. Ancak sonuçta boyut artışı, genel veri miktarına göre belirli bir belgedeki özellik verilerinin miktarına bağlıdır.

Arama Özellik Listesi Oluşturma ve Özellik Aramasını Etkinleştirme

Arama Özellik Listesi Oluşturma

Transact-SQL ile bir arama özelliği listesi oluşturmak için

CREATE SEARCH ÖZELLİK LİSTESİ (Transact-SQL) deyimini kullanın ve listeye en azından bir ad verin.

Management Studio'da arama özelliği listesi oluşturmak için
  1. Nesne Gezgini'nde sunucuyu genişletin.

  2. veritabanlarını genişletin ve ardından arama özelliği listesini oluşturmak istediğiniz veritabanınıgenişletin.

  3. Depolamagenişletin ve ardından Arama Özelliği Listeleriöğesine sağ tıklayın.

  4. yeni arama özellik listesiseçin.

  5. Özellik listesi adını belirtin.

  6. İsteğe bağlı olarak, mülkiyet listesi sahibi olarak başka birini belirtin.

  7. Aşağıdaki seçeneklerden birini belirleyin:

    • boş arama özelliği listesi oluşturma

    • Var olan bir arama özelliği listesinden oluşturma

    Daha fazla bilgi için bkz. Yeni Arama Özellik Listesi.

  8. Tamamseçin.

Arama Özelliği Listesine Özellik Ekleme

Özellik arama, bir arama özellik listesi oluşturmayı ve aranabilir hale getirmek istediğiniz bir veya daha fazla özelliği belirtmeyi gerektirir. Bir arama özelliği listesine özellik eklediğinizde, özellik söz konusu liste için kaydedilir. Arama özelliği listesine özellik eklemek için aşağıdaki değerlere ihtiyacınız vardır:

  • Özellik kümesi GUID'i

    Her arama özelliği, ilgili özellikler grubunu içeren tek bir özellik kümesine aittir. Her özellik kümesi genel olarak benzersiz bir tanımlayıcı (GUID) ile tanımlanır.

  • Özellik tamsayı tanımlayıcısı

    Her arama özelliği, özellik kümesi içinde benzersiz bir tanımlayıcıya sahiptir. Belirli bir özellik için tanımlayıcı bir tamsayı veya dize olabilir, ancak tam metin araması yalnızca tamsayı tanımlayıcılarını destekler.

  • Özellik adı

    Bu, kullanıcıların özelliğinde arama yapmak için tam metin sorgularında belirteceği addır. Özellik adı iç boşluklar içerebilir. Uzunluk üst sınırı 256 karakterdir.

    Özellik adı şu seçeneklerden biri olabilir:

    • System.Author veya System.Contact.HomeAddressgibi özelliğin Windows kurallı adı.

    • Kullanıcılarınızın kolayca anımsayabilecekleri kolay bir ad. Bazı özellikler " Yazar" veya "Giriş Adresi" gibi iyi bilinen bir kullanıcı dostu adla ilişkilendirilir, ancak kullanıcılarınıza en uygun adı belirtebilirsiniz.

    Not

    Belirli bir özellik kümesi GUID'i ve özellik tanımlayıcısının belirli bir arama özelliği listesinde benzersiz olması gerekir. Bu, aynı özelliği farklı adlara veya açıklamalara sahip birden çok kez ekleyemeyeceğiniz anlamına gelir.

  • Özellik açıklaması (isteğe bağlı)

    Arama özelliği listesine bir arama özelliği eklerken isteğe bağlı bir açıklama sağlayabilirsiniz. Örneğin, adından belli olmayan bir özellik hakkında bilgi sağlamak veya özelliğin özellik kümesini açıklamak isteyebilirsiniz.

Arama özelliği listesi değerlerini almak için

bkz. Arama Özellikleri için Özellik Kümesi GUID'lerini ve Özellik Tamsayı Kimliklerini Bulma.

Transact-SQL ile bir arama özelliği listesine özellik eklemek için

ALTER SEARCH ÖZELLİK LİSTESİ (Transact-SQL) deyimini, makale Arama Özellikleri için Özellik Kümesi GUID'lerini ve Özellik Tamsayısı Kimliklerini Bulbaşlıklı bölümde açıklanan yöntemlerden birini kullanarak elde ettiğiniz değerlerle kullanın.

Aşağıdaki örnek, bir arama özelliği listesine özellik eklerken bu değerlerin kullanımını gösterir:

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

Management Studio'da bir arama özelliği listesine özellik eklemek için

Arama özellikleri eklemek ve kaldırmak için Arama Özelliği Listesi Özellikleri iletişim kutusunu kullanın. nesne gezgininde Arama Özelliği Listeleri, ilişkili veritabanının Depolama düğümünün altında bulabilirsiniz.

Arama Özelliği Listesini Full-Text Diziniyle İlişkili Hale Getirme

Bir arama özelliği listesine kayıtlı özelliklerde özellik aramasını desteklemek üzere tam metin dizini için, arama özelliği listesini dizinle ilişkilendirmeniz ve dizini yeniden doldurmanız gerekir. Tam metin dizininin yeniden doldurularak, kayıtlı özelliklerin her birinde arama terimleri için özelliğe özgü dizin girişleri oluşturulur.

Tam metin dizini bu arama özelliği listesiyle ilişkili kaldığı sürece, tam metin sorgusu söz konusu arama özellik listesi için kaydedilen özellikleri aramak için CONTAINS koşulunun PROPERTY seçeneğini kullanabilir.

Tam metin diziniyle ilişkili arama özelliği listesini değiştirirseniz, dizini tutarlı bir duruma getirmek için yeniden oluşturulması gerekir. Dizin hemen kesintiye uğrar ve tam doldurma işlemi yapılana kadar boş olur. Arama özelliği listesinin değiştirilmesi dizinin yeniden oluşturulmasına neden olurken hakkında daha fazla bilgi için alter FULLTEXT INDEX (Transact-SQL) içindeki "Açıklamalar" bölümüne bakın.

Arama özelliği listesini Transact-SQL ile tam metin diziniyle ilişkilendirmek için

ALTER FULLTEXT INDEX (Transact-SQL) deyimini SET SEARCH PROPERTY LIST = <property_list_name> yan tümcesiyle kullanın.

Bir arama özelliği listesini Management Studio ile tam metin diziniyle ilişkilendirmek için

Full-Text Dizin Özellikleri iletişim kutusunun Genel sayfasında Arama Özelliği Listesi için bir değer belirtin.

CONTAINS ile Arama Özelliklerini Sorgulama

Özellik kapsamlı bir tam metin sorgusu için temel CONTAINS söz dizimi aşağıdaki gibidir:

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

Örneğin, aşağıdaki sorgu, Title veritabanının Document tablosunun Production.Document sütununda AdventureWorksdizine alınan bir özellikte arama yapar. Sorgu yalnızca Title özelliği Maintenance veya Repair dizesini içeren belgeleri döndürür

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

Bu örnekte, belgenin IFilter öğesinin Title özelliğini ayıkladığını, Title özelliğinin arama özelliği listesine eklendiğini ve arama özelliği listesinin tam metin diziniyle ilişkilendirildiğini varsayar.

Arama Özellik Listelerini Yönetme

Arama Özellik Listesini Görüntüleme ve Değiştirme

Transact-SQL ile arama özelliği listesini değiştirmek için

Arama özelliklerini eklemek veya kaldırmak için ALTER SEARCH ÖZELLİk LİSTESİ (Transact-SQL) deyimini kullanın.

Management Studio'da bir arama özelliği listesini görüntülemek ve değiştirmek için
  1. Nesne Gezgini'nde sunucuyu genişletin.

  2. Veritabanlarınıgenişletin ve ardından aynı veritabanını genişletin.

  3. depolama genişletin.

  4. Arama özelliği listelerini görüntülemek için Arama Özelliği Listeleri öğesini genişletin.

  5. Özellik listesine sağ tıklayın ve Propertiesseçeneğini seçin.

  6. Arama Özellik Listesi Düzenleyicisi iletişim kutusunda, arama özelliklerini eklemek veya kaldırmak için Özellikler kılavuzunu kullanın:

    1. Belge özelliğini kaldırmak için özelliğin solundaki satır üst bilgisine tıklayın ve DEL tuşuna basın.

    2. Belge özelliği eklemek için, listenin en altındaki boş satıra tıklayın ve *sağında yeni özelliğin değerlerini girin.

      Bu değerler hakkında bilgi için bkz. Arama Özelliği Liste Düzenleyicisi. Microsoft tarafından tanımlanan özellikler için bu değerleri alma hakkında bilgi için bkz. Arama Özellikleri için Özellik Kümesi GUID'lerini ve Özellik Tamsayı kimliklerini bulma. Bağımsız bir yazılım satıcısı (ISV) tarafından tanımlanan özellikler hakkında bilgi için söz konusu satıcının belgelerine bakın.

  7. Tamamseçin.

Arama Özellik Listesini Silme

Tam metin dizininden herhangi biriyle ilişkilendirilmişken bir veritabanında özellik listesini kaldıramazsınız.

Transact-SQL ile bir arama özellik listesini silmek için

DROP SEARCH ÖZELLİK LİSTESİ (Transact-SQL) deyimini kullanın.

Management Studio'da bir arama özellik listesini silmek için
  1. Nesne Gezgini'nde sunucuyu genişletin.

  2. Veritabanlarınıgenişletin ve ardından aynı veritabanını genişletin.

  3. Depolama genişletin ve ardından Arama Özelliği Listeleri düğümünü genişletin.

  4. Silmek istediğiniz özellik listesine sağ tıklayın ve Silöğesine tıklayın.

  5. Tamamseçin.

Ayrıca Bkz.

Özellik Kümesi GUID'lerini ve Özellik Tamsayı ID'lerini bul: Arama Özellikleri
Arama için Filtreleri Yapılandırma ve Yönetme