Aracılığıyla paylaş


Semantik arama tabloları ve sütunları etkinleştir

Belge ya da metin içeren seçili sütunları istatistik semantik dizin dışı açıklar.

İstatistiksel semantik arama, tam metin arama tarafından oluşturulan dizinler kullanır ve ek dizinler oluşturur. Bu bağımlı bir sonucu olarak tam metin arama, yeni bir tam metin dizini tanımlarken ya da varolan bir tam metin dizini değiştirmek yeni semantik bir dizin oluşturun. Kullanarak yeni bir anlamsal dizin oluşturabilirsiniz Transact-SQLdeyimleri veya tam metin dizin oluşturma Sihirbazı'nı ve diğer iletişim kutularını kullanarak SQL Server Management Studio, bu konuda açıklandığı gibi.

Bu Konuda

I want to...

  • Semantik bir dizin oluşturmak

    • Gereksinimleri ve kısıtlamaları semantik bir dizin oluşturmak için

    • Nasıl yapılır: Tam metin dizin yok olduğunda semantik bir dizin oluşturmak

    • Nasıl yapılır: Varolan bir tam metin dizini olduğunda semantik bir dizin oluşturmak

    • Gereksinimleri ve kısıtlamaları için varolan bir dizini değiştirme

  • Semantik bir dizini bırakma

    • Nasıl yapılır: semantik bir dizini bırakma

    • Gereksinimleri ve kısıtlamaları için semantik bir dizin siliniyor

  • Semantik arama veritabanı nesneleri üzerinde etkin olup olmadığını denetleyin

    • Nasıl yapılır: Semantik arama veritabanı nesneleri üzerinde etkin olup olmadığını denetleyin
  • Ne semantik arama için indekslenecek belirlemek

    • Nasıl yapılır: Semantik arama için hangi diller desteklenir denetleyin

    • Nasıl yapılır: Belge türlerini dizine belirlemek

Daha fazla bilgi edinin

  • En iyi yöntem: tam metin ve anlamsal dizinler için ayrı bir dosya grubu oluşturmayı düşünün

  • Sorun: Özel sütununda arama sonuç verir

Semantik bir dizin oluşturma

Gereksinimleri ve kısıtlamaları semantik bir dizin oluşturmak için

  • Herhangi bir tam metin dizinlemesi için tablo ve dizin oluşturulmuş görünümler de dahil olmak üzere desteklenen veritabanı nesneleri üzerinde bir dizin oluşturabilirsiniz.

  • Semantik belirli sütunlar için dizin oluşturmayı etkinleştirmek için önce aşağıdaki önkoşulları bulunmalıdır:

    • Tam metin Katalog veritabanı için var olmalıdır.

    • Tablonun tam metin dizini olmalıdır.

    • Seçili sütunları tam metin dizini içinde yer almalıdır.

    Oluşturabilir ve aynı anda tüm bu gereksinimleri etkinleştir.

  • Tam metin dizinlemesi için desteklenen veri türleri içeren sütunlar üzerinde semantik bir dizin oluşturabilirsiniz. Daha fazla bilgi için, bkz. Oluşturun ve tam metin dizinleri Yönet.

  • Tam metin için dizin oluşturma için desteklenen herhangi bir belge tipini belirtebilirsiniz varbinary(max)sütun. Daha fazla bilgi için bkz: nasıl yapılır: belirlemek hangi belge türlerinin Can Be endeksli bu konuda.

  • Semantic Indexing iki tür için seçtiğiniz – sütun anahtar sözcük dizini ve belge benzerlik dizin dizinler oluşturur. Semantic Indexing etkinleştirdiğinizde, yalnızca bir dizini ya da diğer tür seçemezsiniz. Ancak bu iki dizinler bağımsız olarak sorgulayabilirsiniz. Daha fazla bilgi için Belgeleri ile semantik arama anahtar sözcük bulmakve Benzer ve ilgili belgeler ile semantik arama bulma.

  • Açıkça bir LCID semantik bir dizin belirtmezseniz, daha sonra yalnızca birincil dili ve onun ilişkili dil istatistikleri semantik dizinleme için kullanılır.

  • Bir dil dil modeli mevcut olmayan bir sütun için belirttiğiniz dizin oluşturma başarısız olur ve bir hata iletisi döndürür.

[YUKARI]

Nasıl yapılır: Tam metin dizin yok olduğunda semantik bir dizin oluşturmak

Yeni bir tam metin dizini ile oluşturduğunuzda create fulltext INDEX deyimi, anlamsal sütun düzeyinde dizin anahtar belirterek etkinleştirebilir STATISTICAL_SEMANTICS sütun tanımının bir parçası olarak. Yeni bir tam metin dizini oluşturmak için tam metin dizin oluşturma Sihirbazı'nı kullandığınızda semantic Indexing de etkinleştirebilirsiniz.

  • Transact-sql kullanarak yeni bir anlamsal dizin oluşturma
    Arama create fulltext INDEX deyimi ve STATISTICAL_SEMANTICS semantik bir dizin oluşturmak istediğiniz her sütun için. Bu ifade tüm seçenekleri hakkında daha fazla bilgi için bkz: fulltext INDEX (Transact-sql) oluştur.

    Örnek 1: bir benzersiz dizin, tam metin dizini ve anlamsal dizin oluşturma

    Aşağıdaki örnek, varsayılan tam metin kataloğu oluşturur m. Örnek daha sonra benzersiz bir dizin oluşturur JobCandidateID sütununda HumanResources.JobCandidate AdventureWorks2012 örnek veritabanı tablosu. Bu benzersiz dizini tam metin dizin anahtar sütunu olarak gereklidir. Örnek daha sonra tam metin dizini ve anlamsal dizini oluşturur devam sütun.

    CREATE FULLTEXT CATALOG ft AS DEFAULT
    GO
    
    CREATE UNIQUE INDEX ui_ukJobCand
        ON HumanResources.JobCandidate(JobCandidateID)
    GO
    
    CREATE FULLTEXT INDEX ON HumanResources.JobCandidate
        (Resume
            Language 1033
            Statistical_Semantics
        ) 
        KEY INDEX JobCandidateID 
        WITH STOPLIST = SYSTEM
    GO
    

    Örnek 2: gecikmiş dizini popülasyon ile birkaç sütun tam metin ve semantik bir dizin oluşturun

    Aşağıdaki örnek, bir tam metin kataloğu oluşturur documents_catalog, AdventureWorks2012 örnek veritabanı. Örnek daha sonra bu yeni katalog kullanan bir tam metin dizini oluşturur. Tam metin dizini oluşturulur başlığı, konumdan, ve belgesi sütunları Production.Document tablo, anlamsal dizin yalnızca üzerinde oluşturulduğu sırada belge sütun. Yeni oluşturulan tam metin kataloğu ve varolan benzersiz bir anahtar dizini, bu tam metin dizini kullanır PK_Document_DocumentID. Tavsiye olarak, bu dizin anahtarı bir tamsayı sütun, oluşturulan DocumentID. Örneğin LCID 1033, sütundaki verileri dili olan İngilizce, belirtir.

    Bu örnek ayrıca değişiklik izleme kapalı hiçbir popülasyon ile belirtir. Sonraki saatlerde, örnek kullanır bir alter fulltext INDEX yeni dizini tam bir popülasyon başlatın ve otomatik değişiklik izlemeyi etkinleştirmek için deyimi.

    CREATE FULLTEXT CATALOG documents_catalog
    GO
    
    CREATE FULLTEXT INDEX ON Production.Document
        ( 
        Title
            Language 1033, 
        DocumentSummary
            Language 1033, 
        Document 
            TYPE COLUMN FileExtension
            Language 1033
            Statistical_Semantics
        )
        KEY INDEX PK_Document_DocumentID
            ON documents_catalog
            WITH CHANGE_TRACKING OFF, NO POPULATION
    GO
    

    Daha sonra yoğun bir zaman dizini doldurulur:

    ALTER FULLTEXT INDEX ON Production.Document SET CHANGE_TRACKING AUTO
    GO
    
  • SQL Server Management Studio'yu kullanarak yeni bir anlamsal dizin oluşturma
    Tam metin dizin oluşturma Sihirbazı'nı çalıştırın ve etkinleştirmek İstatistiksel semantiği üzerine Tablo sütunları seç sayfa semantik bir dizin oluşturmak istediğiniz her sütun için. Tam metin dizin oluşturma Sihirbazı başlatmak hakkında bilgi de dahil olmak üzere daha fazla bilgi için bkz: Tam metin dizin oluşturma Sihirbazı'nı kullanın.

[YUKARI]

Nasıl yapılır: Varolan bir tam metin dizini olduğunda semantik bir dizin oluşturmak

Sen-ebilmek eklemek varolan bir tam metin dizini ile değişiklik yaptığınızda semantic Indexing alter fulltext INDEX deyimi. Sen-ebilmek da eklemek çeşitli iletişim kutularını kullanarak semantic Indexing SQL Server Management Studio.

  • Transact-sql kullanarak bir anlamsal dizin ekleme
    Arama alter fulltext INDEX deyimi ile semantik bir dizin eklemek istediğiniz her sütun için aşağıda açıklanan seçeneklerin. Bu ifade tüm seçenekleri hakkında daha fazla bilgi için bkz: alter fulltext INDEX (Transact-sql).

    Tam metin hem semantik dizinler yeniden sonra çağrı alter, aksini belirtmediğiniz sürece.

    • Tam metin dizinlemesi için yalnızca bir sütun eklemek için kullanın add sözdizimi.

    • Tam metin ve semantik bir sütunu dizine eklemek için kullanın add sözdizimi ile STATISTICAL_SEMANTICS seçeneği.

    • Semantik dizin zaten tam metin dizinlemesi için etkin bir sütun eklemek için kullanın Ekle STATISTICAL_SEMANTICS seçeneği. Yalnızca semantik bir sütunun tek bir dizine ekleyebilirsiniz alter deyimi.

    Örnek: semantik tam metin dizinlemesi olan bir sütunu dizine ekle

    Aşağıdaki örnek üzerinde varolan bir tam metin dizini değiştirir Production.Document AdventureWorks2012 örnek veritabanı. Örneğin bir anlamsal dizin ekler belge sütun Production.Document tablosu, bir tam metin dizini zaten. Örnek dizin otomatik olarak yeniden yerleştirilmesi değil olduğunu belirtir.

    ALTER FULLTEXT INDEX ON Production.Document
        ALTER COLUMN Document
            ADD Statistical_Semantics
        WITH NO POPULATION
    GO
    
  • SQL Server Management Studio'yu kullanarak bir anlamsal dizin Ekle
    Sen-ebilmek değişmek Tarih semantik ve tam metin dizinlemesi için etkin olan sütun Tam metin dizin sütunları sayfası Tam metin dizini özellikler iletişim kutusu. Daha fazla bilgi için, bkz. Tam metin dizinlerini yönetme.

[YUKARI]

Gereksinimleri ve kısıtlamaları için varolan bir dizini değiştirme

  • Popülasyon dizin işlemi sırasında varolan bir dizini değişiklik yapamazsınız. Dizini popülasyon ilerlemesini izleme hakkında daha fazla bilgi için bkz: Yönetmek ve izlemek semantik arama.

  • Bir sütun, dizin ekleyemez ve alter veya aynı sütunda, tek bir arama için dizin oluşturma bırak alter fulltext INDEX deyimi.

[YUKARI]

Semantik bir dizin siliniyor

Nasıl yapılır: semantik bir dizini bırakma

Sen-ebilmek damla varolan bir tam metin dizini ile değişiklik yaptığınızda semantic Indexing alter fulltext INDEX deyimi. Ayrıca çeşitli iletişim kutularını kullanarak semantic Indexing düşüş olabilir SQL Server Management Studio.

  • Transact-sql kullanarak semantik bir dizini bırakma

    • Semantic Indexing yalnızca bir sütun veya sütunları silmek için çağrı alter fulltext INDEX deyimiyle alter columnsütun_adıSTATISTICAL_SEMANTICS bırak seçeneği. Sen-ebilmek damla birden çok sütun tek bir dizin alter deyimi.

      USE database_name
      GO
      
      ALTER FULLTEXT INDEX
          ALTER COLUMN column_name
          DROP STATISTICAL_SEMANTICS
      GO
      
    • Tam metin ve semantik bir sütunun dizin bırakmak için çağrı alter fulltext INDEX deyimiyle alter columnsütun_adıbırak seçeneği.

      USE database_name
      GO
      
      ALTER FULLTEXT INDEX
          ALTER COLUMN column_name
          DROP
      GO
      
  • SQL Server Management Studio'yu kullanarak semantik bir dizini bırakma
    Sen-ebilmek değişmek Tarih semantik ve tam metin dizinlemesi için etkin olan sütun Tam metin dizin sütunları sayfası Tam metin dizini özellikler iletişim kutusu. Daha fazla bilgi için, bkz. Tam metin dizinlerini yönetme.

[YUKARI]

Gereksinimleri ve kısıtlamaları için semantik bir dizin siliniyor

  • Semantic Indexing koruyarak sütundan tam metin dizin bırakamazsınız. Semantic Indexing tam metin belge benzerlik sonuçlar için dizin bağlıdır.

  • Belirttiğiniz olamaz no nüfus seçenek semantik son sütun için anlamsal dizin etkin bir tablodaki dizin düşürdüğünüzde. Bir nüfus döngüsü, daha önce dizine sonuç çıkarmak için gereklidir.

[YUKARI]

Semantik arama veritabanı nesneleri üzerinde etkin olup olmadığını denetleme

Nasıl yapılır: Semantik arama veritabanı nesneleri üzerinde etkin olup olmadığını denetleyin

  • Semantik arama veritabanı için etkin mi?
    Sorgu IsFullTextEnabled özelliği databasepropertyex (Transact-sql)meta veri işlevi.

    1 Dönüş değeri, veritabanı için tam metin arama ve semantik arama etkin olduğunu gösterir; dönüş değeri 0, onlar değil etkin olduğunu gösterir.

    SELECT DATABASEPROPERTYEX('database_name', 'IsFullTextEnabled')
    GO
    
  • Semantik arama tablosu için etkin mi?
    Sorgu TableFullTextSemanticExtraction özelliği objectpropertyex (Transact-sql)meta veri işlevi.

    1 Dönüş değeri semantik arama tablosu etkin gösterir; dönüş değeri 0, etkin olmadığını gösterir.

    SELECT OBJECTPROPERTYEX(OBJECT_ID('table_name'), 'TableFullTextSemanticExtraction')
    GO
    
  • Semantik arama, bir sütun için etkin mi?
    Semantik arama belirli bir sütun için etkin olup olmadığını belirlemek için:

    • Sorgu StatisticalSemantics özelliği columnproperty (Transact-sql)meta veri işlevi.

      1 Dönüş değeri semantik arama sütununu etkin gösterir; dönüş değeri 0, etkin olmadığını gösterir.

      SELECT COLUMNPROPERTY(OBJECT_ID('table_name'), 'column_name', 'StatisticalSemantics')
      GO
      
    • Katalog görünümü sys.fulltext_index_columns (Transact-sql)tam metin dizini için.

      1 Değeri statistical_semantics sütunu belirtilen sütun tam metin dizinlemesi ek anlamsal dizinleme için etkinleştirildiğini gösterir.

      SELECT * FROM sys.fulltext_index_columns WHERE object_id = OBJECT_ID('table_name')
      GO
      
    • Nesne Explorer'da Management Studio, bir sütunu sağ tıklatın ve seçin Özellikler. Tarih Genel sayfası Sütun özelliklerini iletişim kutusunda, değerini İstatistiksel semantiği özelliği.

      True değeri, belirtilen sütun tam metin dizinlemesi ek anlamsal dizinleme için etkinleştirildiğini gösterir.

[YUKARI]

Ne semantik arama için indekslenecek belirleme

Nasıl yapılır: Semantik arama için hangi diller desteklenir denetleyin

Önemli notÖnemli

Semantik daha tam metin dizinlemesi için dizinleme için daha az diller desteklenmektedir. Sonuç olarak, semantik arama için tam metin arama, ancak dizin sütunları olabilir.

Katalog görünümü sys.fulltext_semantic_languages (Transact-sql).

SELECT * FROM sys.fulltext_semantic_languages
GO

Aşağıdaki diller, anlamsal dizinleme için desteklenir. Bu liste görünümü çıkış temsil eden sys.fulltext_semantic_languages (Transact-sql), sıralı olarak LCID.

Dil

LCID

Almanca

1031

İngilizce (ABD)

1033

Fransızca

1036

İtalyanca

1040

Portekizce (Brezilya)

1046

Rusça

1049

İsveççe

1053

İngilizce (Birleşik Krallık)

2057

Portekizce (Portekiz)

2070

İspanyolca

3082

[YUKARI]

Nasıl yapılır: Belge türlerini dizine belirlemek

Katalog görünümü sys.fulltext_document_types (Transact-sql).

Sonra dizin oluşturmak istediğiniz belge türünü desteklenen türler listesinde değilse, bulmak, download ve ek filtreleri yüklemek gerekebilir. Daha fazla bilgi için, bkz. Görüntüleme veya değiştirme kayıtlı sözcük ayırıcılarını ve filtreleri.

[YUKARI]

En iyi yöntem: tam metin ve anlamsal dizinler için ayrı bir dosya grubu oluşturmayı düşünün

Ayrı bir filegroup tam metin ve anlamsal dizinler için disk alanı ayırma önemliyse oluşturmayı düşünün. Semantik dizinler aynı filegroup tam metin dizin oluşturulur. Tam olarak doldurulmuş bir anlamsal dizin büyük miktarda veri içerebilir.

[YUKARI]

Sorun: Özel sütununda arama sonuç verir

  • Unicode olmayan bir LCID için Unicode dil belirtildi?
    Unicode olmayan sütun türüne sahip bir LCID yalnızca Unicode kelime, Rusya için LCID 1049 gibi olan bir dilin semantik dizin oluşturmayı etkinleştirmek mümkündür. Bu durumda, hiçbir sonuç hiç semantik dizinler bu sütun döner.

[YUKARI]