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 |
---|
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]