Tam metin dizini popülasyon
Creating and maintaining a full-text index involves populating the index by using a process called a population (also known as a crawl).SQL Server supports the following types of population: Tüm popülasyonun, izleme tabanlı otomatik veya el ile nüfus ve artan zaman damgası temel alan popülasyon.
Tüm popülasyonu
Tüm bir popülasyon sırasında bir tablo ya da dizinli görünüm tüm satırlar için dizin girişleri yerleştirilmiştir.Tüm popülasyon bir tam metin dizini, yapılar temel tablo veya dizinlenmiş görünümün tüm satırlar için giriş dizin.
Varsayılan olarak,SQL Serveroluşturulduğu gibi yeni bir tam metin dizini tamamen dolduran.Ancak, tüm bir popülasyon kaynaklarını önemli miktarda kullanılmasına neden olabilir.Bu nedenle, yoğun dönemlerde tam metin dizini oluşturma, genellikle tam geciktirmek için en iyi yöntem olduğu popülasyon temel tablonun tam metin dizini, özellikle büyükse, bir boş zamana kadar.Ancak, tüm, tam metin dizinlerini doldurulur kadar dizine ait olduğu tam metin kataloğunun kullanılabilir değildir.To create a full-text index without populating it immediately, specify the CHANGE_TRACKING OFF, NO POPULATION clause in your CREATE FULLTEXT INDEX Transact-SQL statement.SQL Server will not populate the new full-text index until you execute an ALTER FULLTEXT INDEX Transact-SQL statement using the START FULL POPULATION or START INCREMENTAL POPULATION clause.Daha fazla bilgi için bkz: örnekleri "aTüm bir popülasyon çalıştırmadan tam metin dizini oluşturma"ve"B.Tüm bir popülasyon çalışan tablo, "Bu konuda daha sonra.
Değişiklik izleme tabanlı popülasyon
İsteğe bağlı olarak değişiklik izleme, ilk tam sonra tam metin dizini korumak için kullanabileceğiniz popülasyon.İlişkili değişiklik izleme için küçük yük vardır.SQL Server, onu izler değişiklikler temel tablonun bu yana geçen bir tablo tutar popülasyon.Değişiklik izleme ne zaman kullanılır,SQL Serversatır kaydını tutar temel tablo veya dizin güncelleştirmeleri, siler veya ekler. değiştirilmiş görünümüVeri değişikliklerini WRITETEXT ve UPDATETEXT tam metin dizininde yansıtılır ve değişiklik izleme çekildiği değil.
Not
Tablolar içeren birtimestampsütun artan örneğin alınma olasılığını. kullanabileceğiniz
Ne zaman değişiklik izleme etkinleştirilmişse, dizin oluşturma sırasındaSQL Serveroluşturulduktan hemen sonra yeni tam metin dizini tamamen dolduran.Bundan sonra değişiklikler izlenir ve tam metin dizinine yayılır.İki tür (CHANGE_TRACKING otomatik seçeneği) değişiklik izleme, otomatik ve el ile (CHANGE_TRACKING MANUAL seçeneği) vardır.Otomatik değişiklik izleme varsayılan davranıştır.
Nasıl tam metin dizini, aşağıdaki gibi doldurulur, değişiklik izleme türünü belirler:
Otomatik popülasyon
Varsayılan olarak, veya CHANGE_TRACKING otomatik belirtirseniz, tam metin alt yapısı otomatik popülasyon tam metin dizini üzerinde.Sonra ilk tam popülasyon tamamlandığında, değişikliklerin izlenen temel tablodaki verilerde değişiklik ve izlenen değişiklikleri otomatik olarak yayılır.Tam metin dizini arka planda ancak yayılan değişikliklerin hemen dizinde yansımasını değil; böylece güncelleştirilir.
İçin küme kadar otomatik nüfus değişiklikleri izleme
CREATE FULLTEXT INDEX … CHANGE_TRACKING AUTO ile
ALTER INDEX FULLTEXT … küme CHANGE_TRACKING AUTO
Daha fazla bilgi için örneğin "e bakın.Otomatik değişiklik izleme, kullanılacak bir tam metin dizini bu konuda daha sonra değiştirme".
El ile popülasyon
Tam-metin alt yapısı CHANGE_TRACKING MANUAL belirtirseniz, otomatik kullanan popülasyon tam metin dizini üzerinde.Sonra ilk tam popülasyon tamamlar, değişiklikleri veri temel tabloda değişiklik olarak izlenir.Bir ALTER FULLTEXT INDEX … START UPDATE yürütmek kadar ancak bunlar için tam metin dizinine yayılır değil popülasyon ifadesi.Kullanabileceğiniz SQL Server Bu çağrı için Aracısı Transact-SQL düzenli deyim.
El ile değişiklik izlemeyi başlatmak için popülasyon
CREATE FULLTEXT INDEX … CHANGE_TRACKING MANUAL ile
ALTER INDEX FULLTEXT … küme CHANGE_TRACKING MANUAL
Daha fazla bilgi için bkz: örnekleri "cEl ile tam metin dizini oluşturma değiştirme izleme"ve"D.El ile çalışan popülasyon, "Bu konuda daha sonra.
İzleme kurmak için Hayır ile'izleme değişiklik
CREATE FULLTEXT INDEX … CHANGE_TRACKING OFF ile
ALTER INDEX FULLTEXT … küme CHANGE_TRACKING OFF
Artan zaman damgası tabanlı popülasyon
Artımlı bir popülasyon el ile tam metin dizini yerleştirmek için alternatif bir mekanizmadır.Artımlı bir çalıştırabilirsiniz popülasyon CHANGE_TRACKING MANUAL veya kapalı olarak küme olan bir tam metin dizini.İlk popülasyon bir artan bir tam metin dizini olan popülasyon, tüm satırlar için tam karşılığı yapmak, bu dizine popülasyon.Gereksinimi artan popülasyon dizinli tablo sütun olması gerektiğini isetimestampveri türü., Birtimestampsütun yoksa, artan popülasyon gerçekleştirilemez.İsteği artan popülasyon olmayan bir tablo üzerinde birtimestampsütun sonuçları tam olarak popülasyon operasyon.Ayrıca, tablo için tam metin dizini etkileyen tüm meta veriler son nüfusun sonra değiştiyse, artan nüfusun isteklerine tam örneğin alınma olasılığını uygulanır.Bu, herhangi bir sütun, dizin veya tam metin dizini tanımları değiştirerek neden meta veriler değişiklikleri içerir.
SQL Serverkullanantimestampbu yana en son değiştirilen satırları belirlemek için sütun popülasyon.Artan popülasyon daha sonra eklenen, silinen veya sonra en son değiştirilen satırlar için tam metin dizini güncelleştirir popülasyon, veya son popülasyon sürmekte.Bir tablo ekler yüksek miktarda karşılaşırsa, artan kullanarak popülasyon daha verimli olabilir, kullanarak el ile popülasyon.
Sonunda, popülasyon tam-metin alt yapısı kayıtları yeni birtimestampdeğer.Bu değer kullanılabilir en büyüktimestampSQL alma karşılaştığı değeri.Bu değer, bir sonraki kullanılacak artan popülasyon başlar.
Artımlı bir popülasyon çalıştırmak için START artan NÜFUS yan tümcesini kullanarak FULLTEXT ALTER INDEX deyim çalıştırın.
Artımlı bir zamanlama popülasyon iş
Örnekler
Not
Örnekler bu bölümü kullanınProduction.DocumentorHumanResources.JobCandidatetablo,AdventureWorksörnek veritabanı.Bu tablo s hakkında daha fazla bilgi için bkz: belge tablo veJobCandidate tablo (AdventureWorks).
C.Tüm bir popülasyon çalıştırmadan tam metin dizini oluşturma
Aşağıdaki örnek, bir tam metin dizini oluştururProduction.Documenttablo,AdventureWorksörnek veritabanı.NO Bu örnek ile CHANGE_TRACKING OFF, kullandığı popülasyon ilk tam gecikme popülasyon.
CREATE UNIQUE INDEX ui_ukDoc ON Production.Document(DocumentID);
CREATE FULLTEXT CATALOG AW_Production_FTCat;
CREATE FULLTEXT INDEX ON Production.Document
(
Document --Full-text index column name
TYPE COLUMN FileExtension --Name of column that contains file type information
Language 1033 --1033 is LCID for the English language
)
KEY INDEX ui_ukDoc
ON AW_Production_FTCat
WITH CHANGE_TRACKING OFF, NO POPULATION;
GO
b.Tüm bir popülasyon tablo üzerinde çalışan
Aşağıdaki örnekte, tam çalışan popülasyon,Production.DocumenttablosuAdventureWorksörnek veritabanı.
ALTER FULLTEXT INDEX ON Production.Document
START FULL POPULATION;
c.El ile değişiklik izleme ile tam metin dizini oluşturma
Aşağıdaki örnek, değişiklik izleme, el ile kullanılacak bir tam metin dizini oluşturur popülasyon,HumanResources.JobCandidatetablosuAdventureWorksörnek veritabanı.
USE AdventureWorks;
GO
CREATE UNIQUE INDEX ui_ukJobCand ON HumanResources.JobCandidate(JobCandidateID);
CREATE FULLTEXT CATALOG ft AS DEFAULT;
CREATE FULLTEXT INDEX ON HumanResources.JobCandidate(Resume)
KEY INDEX ui_ukJobCand
WITH CHANGE_TRACKING=MANUAL;
GO
d.El ile bir popülasyon çalıştırma
Aşağıdaki örnekte el ile bir popülasyon izlenen değişiklik tam metin dizini üzerinde çalışanHumanResources.JobCandidatetablo,AdventureWorksörnek veritabanı.
USE AdventureWorks;
GO
ALTER FULLTEXT INDEX ON HumanResources.JobCandidate START UPDATE POPULATION;
GO
e.Otomatik değişiklik izlemeyi kullanmak için bir tam metin dizini değiştirme
Aşağıdaki örnekte, tam metin dizini değiştirirHumanResources.JobCandidatetablosuAdventureWorksörnek veritabanını kullanma değişiklik izlemeyi otomatik nüfus.
USE AdventureWorks;
GO
ALTER FULLTEXT INDEX ON HumanResources.JobCandidate SET CHANGE_TRACKING AUTO;
GO
See Also