Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
SQL Server ve Azure SQL Veritabanı’ndaki Tam Metin Araması özelliği, kullanıcıların ve uygulamaların SQL Server tablolarındaki karakter tabanlı verilerde tam metin sorguları çalıştırmasına olanak tanır.
Önemli
SQL Server 2025 (17.x) ve sonraki sürümlerde Full-Text Arama'da önemli değişiklikler var. Daha fazla bilgi için bkz SQL Server 2025'te Veritabanı Motoru özelliklerinde önemli değişiklikler.
Temel görevler
Bu makale, Full-Text Arama'ya genel bir bakış sağlar ve bileşenlerini ve mimarisini açıklar. Hemen başlamayı tercih ediyorsanız temel görevler şunlardır.
- Full-Text Arama Kullanmaya Başlama
- Full-Text Katalog oluşturma ve yönetme
- Tam metin dizinleri oluşturma ve yönetme
- Full-Text Dizinlerini Doldurma
- Sorgu, Full-Text Arama ile
Full-Text Arama, SQL Server Veritabanı Altyapısı'nın isteğe bağlı bir bileşenidir. SQL Server'ı yüklerken Full-Text Ara'yı seçmediyseniz, eklemek için SQL Server Kurulumu'nu yeniden çalıştırın.
Genel Bakış
Tam metin dizini, tablodaki bir veya daha fazla karakter tabanlı sütun içerir. Bu sütunlarda şu veri türlerinden herhangi biri bulunabilir: char, varchar, nchar, nvarchar, text, ntext, image, xml veya varbinary(max) ve FILESTREAM. Her tam metin dizini tablodan bir veya daha fazla sütunu dizine alır ve her sütun belirli bir dili kullanabilir.
Tam metin sorguları, İngilizce veya Japonca gibi belirli bir dilin kurallarına göre sözcükler ve tümcecikler üzerinde çalışarak, tam metin dizinlerindeki metin verilerinde dilsel aramalar yapar. Tam metin sorguları, basit sözcükler ve tümcecikler ya da bir sözcük veya tümceciğin birden çok biçimi içerebilir. Tam metin sorgusu, en az bir eşleşme ( isabet olarak da bilinir) içeren tüm belgeleri döndürür. Hedef belge tam metin sorgusunda belirtilen tüm terimleri içerdiğinde ve eşleşen terimler arasındaki mesafe gibi diğer arama koşullarını karşıladığında eşleşme oluşur.
Full-Text Arama sorguları
Sütunlar bir tam metin dizinine eklendikten sonra, kullanıcılar ve uygulamalar sütunlardaki metin üzerinde tam metin sorguları çalıştırabilir. Bu sorgular aşağıdaki koşullardan herhangi birini arayabilir:
- Bir veya daha fazla belirli sözcük veya tümcecik (basit terim)
- Sözcüklerin belirtilen metinle başladığı bir sözcük veya tümcecik (ön ek terimi)
- Belirli bir sözcüğün (nesil terimi) çekimsel biçimleri
- Başka bir sözcük veya ifadeye yakın bir sözcük veya ifade (yakınlık terimi)
- Belirli bir sözcüğün eş anlamlı biçimleri (eş anlamlılar sözlüğü)
- Ağırlıklı değerler kullanan sözcükler veya tümcecikler (ağırlıklı terim)
Tam metin sorguları büyük/küçük harfe duyarlı değildir. Örneğin, Aluminum veya aluminum arama için aynı sonuçları döndürür.
Tam metin sorguları küçük bir Transact-SQL koşulu (CONTAINS ve FREETEXT) ve işlevleri (CONTAINSTABLE ve FREETEXTTABLE) kullanır. Ancak, belirli bir iş senaryosunun arama hedefleri tam metin sorgularının yapısını etkiler. Örneğin:
E-ticaret web sitesinde ürün arama:
SELECT product_id FROM products WHERE CONTAINS ((product_description), '"Snap Happy 100EZ" OR FORMSOF(THESAURUS,"Snap Happy") OR "100EZ"') AND product_cost < 200;SQL Server ile çalışma deneyimine sahip iş adaylarını arama senaryosu:
SELECT candidate_name, SSN FROM candidates WHERE CONTAINS ((candidate_resume), '"SQL Server"') AND candidate_division = 'DBA';
Daha fazla bilgi için Full-Text Arama ile sorgula bölümüne bakın.
Full-Text Arama sorgularını LIKE koşuluyla karşılaştırma
Tam metin aramasının aksine LIKE Transact-SQL koşulu yalnızca karakter desenleri üzerinde çalışır. Ayrıca, biçimlendirilmiş ikili verileri sorgulamak için koşulunu LIKE kullanamazsınız. Ayrıca, büyük miktarda yapılandırılmamış metin verisine yönelik bir sorgu, LIKE aynı verilere yönelik eşdeğer bir tam metin sorgusundan çok daha yavaştır.
LIKE Milyonlarca metin verisi satırına yönelik bir sorgunun döndürülmesi dakikalar sürerken, döndürülen satır sayısına bağlı olarak tam metin sorgusu aynı verilerde yalnızca saniyeler veya daha kısa sürebilir.
Full-Text Arama mimarisi
Tam metin arama mimarisi aşağıdaki işlemlerden oluşur:
SQL Server işlemi (
sqlservr.exe).Filtre daemon sunucu süreci (
fdhost.exe).Güvenlik nedeniyle filtreler, filtre daemon konakları olarak adlandırılan ayrı işlemler tarafından yüklenir. İşlemler
fdhost.exebir FDHOST başlatıcı hizmeti ()MSSQLFDLaunchertarafından oluşturulur ve FDHOST başlatıcısı hizmet hesabının güvenlik kimlik bilgileri altında çalışır. Bu nedenle, tam metin dizin oluşturma ve tam metin sorgulamanın çalışması için FDHOST başlatıcı hizmetinin çalışıyor olması gerekir. Bu hizmetin hizmet hesabını ayarlama hakkında bilgi için bkz. Tam Metin Filtre Daemon Başlatıcısı için Hizmet Hesabını Ayarlama.
Bu iki işlem, tam metin arama mimarisinin bileşenlerini içerir. Bu bileşenler ve ilişkileri aşağıdaki çizimde özetlenmiştir. Bileşenler, çizimden sonra açıklanmıştır.
SQL Server işlemi
SQL Server işlemi, tam metin araması için aşağıdaki bileşenleri kullanır:
| Bileşen | Açıklama |
|---|---|
| Kullanıcı tabloları | Bu tablolar tam metin dizini oluşturulacak verileri içerir. |
| Tam metin toplayıcı | Tam metin toplayıcı, tam metin tarama iş parçacıklarıyla çalışır. Tam metin dizinlerinin popülasyonunu zamanlayıp yönlendirmenin yanında tam metin kataloglarının izlenmesinden de sorumludur. |
| Eş anlamlılar sözlüğü dosyaları | Bu dosyalar arama terimlerinin eş anlamlılarını içerir. Daha fazla bilgi için bkz. Full-Text Arama için Eş Anlamlılar Sözlüğü Dosyalarını Yapılandırma ve Yönetme. |
| Stoplist nesneleri | Stoplist nesneleri, arama için yararlı olmayan yaygın sözcüklerin listesini içerir. Daha fazla bilgi için bkz. Stopwords ve Stoplists yapılandırma ve yönetme için Full-Text Arama. |
| SQL Server sorgu işlemcisi | Sorgu işlemcisi SQL sorgularını derler ve yürütür. SQL sorgusu tam metin arama sorgusu içeriyorsa, sorgu hem derleme hem de yürütme sırasında Full-Text Altyapısı'na gönderilir. Sorgu sonucu, tam metin diziniyle eşleştirilir. |
| Full-Text Altyapısı | SQL Server'daki Full-Text Altyapısı sorgu işlemcisiyle tamamen tümleşiktir. Full-Text Altyapısı tam metin sorguları derler ve yürütür. Sorgu yürütmenin bir parçası olarak Full-Text Altyapısı eş anlamlılar sözlüğü ve durdurma listesinden giriş alabilir. |
| Dizin yazıcı (dizin oluşturucu) | Dizin yazıcı, dizine alınan belirteçleri depolamak için kullanılan yapıyı oluşturur. |
| Filtre daemon yöneticisi | Filtre daemon yöneticisi, Full-Text Altyapısı filtre daemon ana bilgisayarının durumunu izlemekle sorumludur. |
Filtre Daemon Konağı işlemi
Filtre daemon konağı, Full-Text Altyapısı tarafından başlatılan bir işlemdir. Tablolardan gelen verilere erişmek, verileri filtrelemek ve sözcük kesmenin yanı sıra sorgu girişini bölmek ve kökleştirmekten sorumlu olan aşağıdaki tam metin arama bileşenlerini çalıştırır.
Filtre daemon konağı bileşenleri şunlardır:
| Bileşen | Açıklama |
|---|---|
| Protokol işleyicisi | Bu bileşen daha fazla işlem için verileri bellekten çeker ve belirtilen veritabanındaki bir kullanıcı tablosundaki verilere erişir. Sorumluluklarından biri, tam metin dizinlenmiş sütunlardan veri toplamak ve gerektiğinde filtreleme ve sözcük ayırma işlevlerini uygulayan filtre sunucu hizmetine iletmektir. |
| Filtreler | Bazı veri türleri, varbinary, varbinary(max), image veya xml sütunlarındaki veriler de dahil olmak üzere bir belgedeki verilerin tam metin dizini oluşturulabilmesi için filtreleme gerektirir. Belirli bir belge için kullanılan filtre, belge türüne bağlıdır. Örneğin, Microsoft Word () belgeleri, Microsoft Excel (.doc.xls) belgeleri ve XML (.xml) belgeleri için farklı filtreler kullanılır. Ardından filtre, belgeden metin öbeklerini ayıklar, eklenmiş biçimlendirmeyi kaldırır ve metni ve olası olarak metnin konumu hakkındaki bilgileri korur. Sonuç, metinsel bilgi akışıdır. Daha fazla bilgi için bkz. Arama Için Filtreleri Yapılandırma ve Yönetme. |
| Sözcük bölücüler ve kök bulucular | Sözcük ayırıcı, belirli bir dilin sözcük kurallarını (sözcük kesme) temel alarak sözcük sınırlarını bulan dile özgü bir bileşendir. Her sözcük ayırıcı, fiilleri eşleyen ve işlev genişletmeleri gerçekleştiren dile özgü bir kök ayırıcı bileşeniyle ilişkilendirilir. Dizin oluşturma sırasında, filtreleme daemon konağı belirli bir tablo sütunundaki metinsel veriler üzerinde dil analizi yapmak için bir kelime ayırıcı ve kök bulucu kullanır. Tam metin dizinindeki bir tablo sütunuyla ilişkilendirilmiş dil, sütunun dizinini oluşturmak için hangi sözcük ayırıcının ve kök ayırıcının kullanıldığını belirler. Daha fazla bilgi için bkz. Arama (SQL Server) için sözcük ayırıcıları ve kök sözcük ayırıcılarını yapılandırma ve yönetme. |
SQL Server 2012 (11.x), ABD İngilizcesi (LCID 1033) ve Birleşik Krallık İngilizcesi (LCID 2057) için sözcük ayırıcılarının ve gövdeleme algoritmalarının yeni bir sürümünü yükler. Ancak, önceki davranışı korumak istiyorsanız bu bileşenlerin önceki sürümüne geçebilirsiniz. Daha fazla bilgi için bkz. ABD İngilizcesi ve Birleşik Krallık İngilizcesi için Kullanılan Sözcük Ayırıcıyı Değiştirme.
Full-Text Arama işleme
Tam metin araması, Full-Text Altyapısı tarafından desteklenir. Full-Text Altyapısı'nın iki rolü vardır: dizin oluşturma desteği ve sorgu desteği.
Full-Text dizin oluşturma işlemi
Tam metin popülasyonu (gezinme olarak da bilinir) başlatıldığında, Full-Text Altyapısı büyük miktarda veriyi belleğe yükleyip filtre hizmeti sunucusuna bildirir. Ana bilgisayar verileri filtreler, kelime bölme işlemi uygular ve dönüştürülen verileri tersine çevrilmiş sözcük listelerine dönüştürür. Tam metin araması daha sonra dönüştürülen verileri sözcük listelerinden çeker, stopword'leri kaldırmak için verileri işler ve toplu iş için sözcük listelerini bir veya daha fazla ters dizinde kalıcı hale getirmektedir.
Varbinary(max) veya görüntü sütununda depolanan verilerin dizinini oluştururken, arabirimi uygulayan IFilter filtre, bu veriler için belirtilen dosya biçimine (örneğin, Microsoft Word) göre metin ayıklar. Bazı durumlarda, filtre bileşenleri belleğe gönderilmek yerine varbinary(max) veya görüntü verilerinin filterdata klasöre yazılmasını gerektirir.
İşlemenin bir parçası olarak, toplanan metin verileri tek tek belirteçlere veya anahtar sözcüklere ayırmak için bir sözcük ayırıcıdan geçirilir. Belirteç oluşturma için kullanılan dil sütun düzeyinde belirtilir veya filtre bileşeni tarafından varbinary(max), image veya xml verileri içinde tanımlanabilir.
Stopword'leri kaldırmak ve belirteçleri tam metin dizininde veya dizin parçasında depolanmadan önce normalleştirmek için ek işlem gerçekleştirilebilir.
Bir popülasyon tamamlandığında, dizin parçalarını tek bir ana tam metin dizininde bir araya getiren son birleştirme işlemi tetikler. Bu da sorgu performansının artmasına neden olur çünkü birkaç dizin parçası yerine yalnızca ana dizinin sorgulanması gerekir ve ilgi derecelendirmesi için daha iyi puanlama istatistikleri kullanılabilir.
Full-Text sorgulama işlemi
Sorgu işlemcisi, bir sorgunun tam metin bölümlerini işlenmek üzere Full-Text Altyapısı'na geçirir. Full-Text Altyapısı sözcük kesme ve isteğe bağlı olarak eş anlamlılar sözlüğü genişletmeleri, kök oluşturma ve stopword (kirli sözcük) işleme gerçekleştirir. Ardından sorgunun tam metin bölümleri, öncelikli olarak akış tablo değerli işlevler (STVF) olarak SQL işleçleri biçiminde gösterilir. Sorgu yürütme sırasında, bu STVF'ler ters dizine erişerek doğru sonuçları alır. Sonuçlar bu noktada istemciye döndürülür veya istemciye döndürülmeden önce daha fazla işlenir.
Tam metin dizin mimarisi
Tam metin dizinlerindeki bilgiler, Full-Text Altyapısı tarafından bir tabloda belirli sözcükler veya sözcük bileşimleri için hızlı bir şekilde arama yapabilecek tam metin sorguları derlemek için kullanılır. Tam metin dizini, önemli sözcükler ve konumları hakkındaki bilgileri bir veritabanı tablosunun bir veya daha fazla sütunu içinde depolar. Tam metin dizini, SQL Server için Full-Text Altyapısı tarafından oluşturulan ve bakımı yapılan özel bir belirteç tabanlı işlevsel dizin türüdür. Tam metin dizini oluşturma işlemi, diğer dizin türlerinin oluşturulmasından farklıdır. Full-Text Altyapısı, belirli bir satırda depolanan bir değeri temel alan bir B ağacı yapısı oluşturmak yerine, dizine alınan metindeki tek tek belirteçleri temel alan ters, yığılmış, sıkıştırılmış bir dizin yapısı oluşturur. Tam metin dizininin boyutu yalnızca SQL Server örneğinin çalıştığı bilgisayarın kullanılabilir bellek kaynaklarıyla sınırlıdır.
SQL Server 2008'de (10.0.x) başlayarak, tam metin dizinleri SQL Server'ın önceki sürümlerinde olduğu gibi dosya sisteminde yerleşik olarak değil Veritabanı Altyapısı ile tümleştirilir. Yeni bir veritabanı için, tam metin kataloğu artık herhangi bir dosya grubuna ait olmayan bir sanal nesnedir; yalnızca tam metin dizinlerinden oluşan bir gruba başvuran mantıksal bir kavramdır. Ancak, SQL Server 2005 (9.x) veritabanının yükseltildiğinde veri dosyalarını içeren tüm tam metin kataloglarının yeni bir dosya grubu oluşturulduğunu unutmayın; Daha fazla bilgi için bkz . Yükseltme Full-Text Arama.
Tablo başına yalnızca bir tam metin dizinine izin verilir. Tabloda tam metin dizini oluşturulabilmesi için, tablonun tek, benzersiz, null olmayan bir sütunu olmalıdır.
char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary ve varbinary(max) türündeki sütunlar üzerinde tam metin dizini oluşturabilirsiniz. Veri türü varbinary, varbinary(max), image veya xml olan bir sütunda tam metin dizini oluşturmak için bir tür sütunu belirtmeniz gerekir.
Tür sütunu, belgenin dosya uzantısını (.doc, .pdf, .xlsvb.) her satırda depoladığınız bir tablo sütunudur.
Tam metin dizin yapısı
Tam metin dizininin yapısını iyi anlamak, Full-Text Altyapısı'nın nasıl çalıştığını anlamanıza yardımcı olur. Bu makalede, örnek tablo olarak içindeki Document tablosunun AdventureWorks2025 aşağıdaki alıntısı kullanılır. Bu alıntı yalnızca iki sütun gösterir: DocumentID sütun ve Title sütun ve tablodan üç satır.
Bu örnekte, sütunda bir tam metin dizini oluşturulduğu varsayılır Title .
| Belge Kimlik Numarası | Başlık |
|---|---|
1 |
Crank Arm and Tire Maintenance |
2 |
Front Reflector Bracket and Reflector Assembly 3 |
3 |
Front Reflector Bracket Installation |
Örneğin, Aşağıdaki tablo, Title tablosunun Document sütununda oluşturulan tam metin dizini içeriğini gösteren Parça 1'i tasvir eder. Tam metin dizinleri bu tabloda sunulandan daha fazla bilgi içerir. Tablo, tam metin dizininin mantıksal bir gösterimidir ve yalnızca gösterim amacıyla sağlanır. Satırlar, disk kullanımını iyileştirmek için sıkıştırılmış biçimde depolanır.
Veriler özgün belgelerden tersine çevrilir. Ters çevirme, anahtar sözcüklerin belge kimlikleriyle eşlenmesinden oluşur. Bu nedenle, tam metin dizini genellikle ters dizin olarak adlandırılır.
Ayrıca anahtar sözcüğün and tam metin dizininden kaldırıldığına da dikkat edin. Bunun nedeni and bir stopword olmasıdır ve tam metin dizininden stopword'lerin kaldırılması disk alanında önemli tasarruflara yol açarak sorgu performansını artırır. Durdurma sözcükleri hakkında daha fazla bilgi için bkz. Full-Text Arama için Stopword'leri ve Durdurma Listelerini Yapılandırma ve Yönetme.
Parça 1
| Anahtar sözcük | Sütun Kimliği | DocId | Olay |
|---|---|---|---|
Crank |
1 | 1 | 1 |
Arm |
1 | 1 | 2 |
Tire |
1 | 1 | 4 |
Maintenance |
1 | 1 | 5 |
Front |
1 | 2 | 1 |
Front |
1 | 3 | 1 |
Reflector |
1 | 2 | 2 |
Reflector |
1 | 2 | 5 |
Reflector |
1 | 3 | 2 |
Bracket |
1 | 2 | 3 |
Bracket |
1 | 3 | 3 |
Assembly |
1 | 2 | 6 |
3 |
1 | 2 | 7 |
Installation |
1 | 3 | 4 |
Sütun, Keyword dizin oluşturma sırasında ayıklanan bir tek belirtecin temsilini içerir. Sözcük ayırıcıları, bir belirtecin ne olacağını belirler.
ColId sütunu, tam metin dizini oluşturulmuş belirli bir sütuna karşılık gelen bir değer içerir.
sütun, DocId tam metin dizinli bir tablodaki belirli bir tam metin anahtar değeriyle eşlenen 8 baytlık tamsayı değerlerini içerir. Tam metin anahtarı bir tamsayı veri türü olmadığında bu eşleme gereklidir. Böyle durumlarda, tam metin anahtar değerleri ile DocId değerler arasındaki eşlemeler tablo adı verilen DocId Mapping ayrı bir tabloda tutulur. Bu eşlemeleri sorgulamak için sp_fulltext_keymappings sistem saklı yordamını kullanın. Bir arama koşulunu karşılamak için, DocId sorgulanan temel tablodan satırları almak için önceki tablodaki DocId değerlerin eşleme tablosuyla birleştirilmesi gerekir. Temel tablonun tam metin anahtar değeri bir tamsayı türündeyse, değer doğrudan olarak DocId görev yapar ve eşleme gerekmez. Bu nedenle, tamsayı tam metin anahtar değerlerini kullanmak tam metin sorgularını iyileştirmeye yardımcı olabilir.
Sütun Occurrence bir tamsayı değeri içerir. Her DocId değeri için, söz konusu DocId içindeki belirli bir anahtar sözcüğün göreli sözcük uzaklıklarına karşılık gelen oluşum değerlerinin listesi vardır. Oluşum değerleri, tümcecik veya yakınlık eşleşmelerinin belirlenmesinde yararlıdır; örneğin, tümcecikler sayısal olarak bitişik oluşum değerlerine sahiptir. Ayrıca ilgi puanlarını hesaplamada da kullanışlıdır; örneğin, bir anahtar sözcüğün DocId'deki oluşum sayısı puanlamada kullanılabilir.
Tam metin dizin parçaları
Mantıksal tam metin dizini genellikle birden çok iç tabloya bölünür. Her iç tablo, tam metin dizini parçası olarak adlandırılır. Bu parçalardan bazıları diğerlerinden daha yeni veriler içerebilir. Örneğin, bir kullanıcı DocId değeri 3 olan aşağıdaki satırı güncelleştirirse ve tablo otomatik olarak değiştirilirse yeni bir parça oluşturulur.
| Belge Kimlik Numarası | Başlık |
|---|---|
3 |
Rear Reflector |
Parça 2'yi gösteren aşağıdaki örnekte parça, Parça 1'e kıyasla DocId 3 hakkında daha yeni veriler içerir. Bu nedenle, kullanıcı DocId 3'ü sorguladığında Fragment 2'den gelen veriler kullanılır. Her parça, sys.fulltext_index_fragments katalog görünümü kullanılarak sorgulanabilen bir oluşturma zaman damgasıyla işaretlenir.
Parça 2
| Anahtar sözcük | Sütun Kimliği | DocId | Occ |
|---|---|---|---|
Rear |
1 | 3 | 1 |
Reflector |
1 | 3 | 2 |
Parça 2'den de görülebileceği gibi, tam metin sorgularının her bir parçayı dahili olarak sorgulaması ve eski girdileri atması gerektiği görülmektedir. Bu nedenle, tam metin dizininde çok fazla tam metin dizini parçası sorgu performansında önemli bir düşüşe yol açabilir. Parça sayısını azaltmak için ALTER FULLTEXT CATALOGTransact-SQL deyimi seçeneğini kullanarak REORGANIZEtam metin kataloğunu yeniden organize edin. Bu deyim, parçaları tek bir daha büyük parçayla birleştirir ve tüm eski girdileri tam metin dizininden kaldıran bir ana birleştirme gerçekleştirir.
Yeniden düzenlendikten sonra örnek dizin aşağıdaki satırları içerir:
| Anahtar sözcük | Sütun Kimliği | DocId | Occ |
|---|---|---|---|
Crank |
1 | 1 | 1 |
Arm |
1 | 1 | 2 |
Tire |
1 | 1 | 4 |
Maintenance |
1 | 1 | 5 |
Front |
1 | 2 | 1 |
Rear |
1 | 3 | 1 |
Reflector |
1 | 2 | 2 |
Reflector |
1 | 2 | 5 |
Reflector |
1 | 3 | 2 |
Bracket |
1 | 2 | 3 |
Assembly |
1 | 2 | 6 |
3 |
1 | 2 | 7 |
Tam metin dizinleri ile normal SQL Server dizinleri arasındaki farklar
| Tam metin dizinleri | Normal SQL Server dizinleri |
|---|---|
| Tablo başına yalnızca bir tam metin dizinine izin verilir. | Tablo başına birkaç normal dizine izin verilir. |
| Popülasyon olarak adlandırılan tam metin dizinlerine veri eklenmesi, bir zamanlama veya belirli bir istek aracılığıyla istenebilir veya yeni verilerin eklenmesiyle otomatik olarak gerçekleştirilebilir. | Temel alındıkları veriler eklendiğinde, güncelleştirildiğinde veya silindiğinde otomatik olarak güncellenir. |
| Aynı veritabanı içinde bir veya daha fazla tam metin kataloğunda gruplandırılır. | Gruplandırılmadı. |
Full-Text dil bileşenlerini ve dil desteğini arama
Tam metin araması İngilizce, İspanyolca, Çince, Japonca, Arapça, Bangla ve Hintçe gibi neredeyse 50 farklı dili destekler. Desteklenen tam metin dillerinin tam listesi için bkz. sys.fulltext_languages. Tam metin dizininde yer alan sütunların her biri, tam metin araması tarafından desteklenen bir dile eşitlenen bir Microsoft Windows yerel ayar tanımlayıcısı (LCID) ile ilişkilendirilir. Örneğin, LCID 1033 ABD İngilizcesine, LCID 2057 ise İngiliz İngilizcesine eşit olur. Desteklenen her tam metin dili için SQL Server, bu dilde depolanan tam metin verilerini dizine alma ve sorgulamayı destekleyen dil bileşenleri sağlar.
Dile özgü bileşenler aşağıdaki öğeleri içerir:
| Bileşen | Açıklama |
|---|---|
| Sözcük bölücüler ve kök bulucular | Sözcük ayırıcı, belirli bir dilin sözcük temelli kurallarına (sözcük kesme) göre sözcük sınırlarını bulur. Her sözcük ayırıcı, aynı dil için fiilleri eşleyen bir kök ayırıcı ile ilişkilendirilir. Daha fazla bilgi için bkz. Arama (SQL Server) için sözcük ayırıcıları ve kök sözcük ayırıcılarını yapılandırma ve yönetme. |
| Durdurma listeleri | Temel bir stopword kümesi (kirli sözcükler olarak da bilinir) içeren bir sistem durdurma listesi sağlanır.
Stopword, aramaya yardımcı olmayan ve tam metin sorguları tarafından yoksayılan bir sözcükdür. Örneğin, İngilizce yerel ayarı için a, and, is ve the gibi sözcükler stopword olarak kabul edilir. Genellikle, bir veya daha fazla eş anlamlılar sözlüğü dosyası ve durdurma listesi yapılandırmanız gerekir. Daha fazla bilgi için bkz. Stopwords ve Stoplists yapılandırma ve yönetme için Full-Text Arama. |
| Eş anlamlılar sözlüğü dosyaları | SQL Server ayrıca her tam metin dili için bir eş anlamlılar sözlüğü dosyası ve genel eş anlamlılar sözlüğü dosyası yükler. Yüklü eş anlamlılar sözlüğü dosyaları boş, ancak belirli bir dil veya iş senaryosu için eş anlamlıları tanımlamak üzere bunları düzenleyebilirsiniz. Tam metin verilerinize göre uyarlanmış bir eş anlamlılar sözlüğü geliştirerek, bu veriler üzerindeki tam metin sorgularının kapsamını etkili bir şekilde genişletebilirsiniz. Daha fazla bilgi için bkz. Full-Text Arama için Eş Anlamlılar Sözlüğü Dosyalarını Yapılandırma ve Yönetme. |
| Filtreler (iFilters) | Bir belgenin varbinary(max), image veya xml veri türü sütununda dizinlenmesi, ek işlem gerçekleştirmek için bir filtre gerektirir. Filtre belge türüne (.doc, .pdf, .xls, .xmlvb.) özgü olmalıdır. Daha fazla bilgi için bkz. Arama Için Filtreleri Yapılandırma ve Yönetme. |
Sözcük ayırıcılar (ve kök ayırıcılar) ve filtreler, filtre daemon ana bilgisayar işleminde (fdhost.exe) çalışır.
İlgili içerik
- Full-Text Arama Kullanmaya Başlama
- Full-Text Katalog oluşturma ve yönetme
- Tam metin dizinleri oluşturma ve yönetme
- Full-Text Dizinlerini Doldurma
- Sorgu, Full-Text Arama ile