Tam Metin Arama için durak sözcükleri ve durak listelerini yapılandırın ve yönetin

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

Tam metin indeksinin şişirilmesini önlemek için, SQL Server Database Engine, aramaya yardımcı olmayan sıkça ortaya çıkan dizileri atan bir mekanizmaya sahiptir. Göz ardı edilen bu sözcükler stopwordsolarak adlandırılır. Dizin oluşturma sırasında, Full-Text Altyapısı tam metin dizinindeki stopword'leri atlar. Bu, tam metin sorgularının stopword üzerinde arama yapmadığı anlamına gelir.

Süre Description
Durak sözcükler Durdurma kelimesi, belirli bir dilde anlamı olan bir sözcük olabilir. Örneğin, İngilizce dilinde, , aandve is gibi kelimelerthe, arama için işe yaramaz oldukları bilindiği için tam metin indeksinden çıkar. Bir durak sözcük, dilsel anlam taşımayan bir token da olabilir.
Durdurma listeleri Stopword, durak listeleri adı verilen nesneler kullanılarak veritabanlarında yönetilir. durdurma listesi, bir tam metin diziniyle ilişkilendirildiğinde bu dizindeki tam metin sorgularına uygulanan bir anahtar kelime listesidir.

Mevcut bir durdurma listesini kullanma

Mevcut bir durdurma listesini aşağıdaki yollarla kullanabilirsiniz:

  • Veritabanında sistem tarafından sağlanan durdurma listesini kullanın. Database Engine, desteklenen her dil için, yani varsayılan olarak belirli sözcük ayırıcılarla ilişkilendirilmiş her dil için en sık kullanılan stop sözcüklerini içeren bir sistem stoplistesiyle birlikte sunulur. Sistem durdurma listesini kopyalayabilir ve stopwords ekleyip kaldırarak kopyanızı özelleştirebilirsiniz.

    Sistem durdurma listesi Kaynak Veritabanı'na yüklenir.

  • Mevcut sunucu örneğinde başka bir veritabanından mevcut özel bir durdurma listesi kullanın ve ardından uygun şekilde stopword ekleyin veya çıkarın.

Yeni bir durdurma listesi oluşturma

Transact-SQL (T-SQL) veya SQL Server Management Studio (SSMS) kullanarak bir durak listesi oluşturabilirsiniz.

Transact-SQL ile yeni bir durdurma listesi oluşturma

CREATE FULLTEXT STOPLIST adresini kullanın.

SQL Server Management Studio ile yeni bir durdurma listesi oluşturun

  1. Nesne Gezgini'nde sunucuyu genişletin.

  2. Veritabanları'nı genişletin ve ardından tam metin durdurma listesini oluşturmak istediğiniz veritabanını genişletin.

  3. Depolama genişletin, ardından Full-Text Stoplistsöğesine sağ tıklayın.

  4. Yeni Full-Text Durdurma Listesiseçin.

  5. Yeni durdurma listenizin adını girin.

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

  7. Aşağıdaki durdurma listesi oluşturma seçeneklerinden birini belirleyin:

    • Boş bir durdurma listesi oluşturma

    • Sistem durdurma listesinden oluşturma

    • Var olan bir tam metin durdurma listesinden oluşturma

    Daha fazla bilgi için bkz. Yeni Full-Text Durdurma Listesi (Genel Sayfa) .

  8. Tamamseçin.

Tam metin sorgularında durdurma listesi kullanma

Sorgularda bir durdurma listesi kullanmak için bunu tam metin diziniyle ilişkilendirmeniz gerekir. Dizini oluştururken tam metin dizinine bir durdurma listesi ekleyebilir veya daha sonra bir durdurma listesi eklemek için dizini değiştirebilirsiniz.

Görev Method
Tam metin bir indeks oluşturun ve bunu bir durak listesiyle ilişkilendirin CREATE FULLTEXT INDEX adresini kullanın.
Mevcut bir tam metin diziniyle bir durdurma listesini ilişkilendir veya ilişkilendirmeyi kaldır. ALTER FULLTEXT INDEX adresini kullanın.

Durdurma listesindeki durdurma kelimelerini değiştirme

Durak listesindeki stopword'ları Transact-SQL (T-SQL) veya SQL Server Management Studio (SSMS) kullanarak değiştirebilirsiniz.

Transact-SQL ile bir durdurma listesinden stopword ekleme veya bırakma

ALTER FULLTEXT STOPLIST adresini kullanın.

SQL Server Management Studio ile durak listesinden durapanma kelimeleri ekle veya çıkar

  1. Nesne Gezgini'nde sunucuyu genişletin.

  2. Veritabanlarıgenişletin ve sonra veritabanını genişletin.

  3. depolama genişletin ve ardından tam metin durdurma listeleriseçin.

  4. Özelliklerini değiştirmek istediğiniz stopliste sağ tıklayın ve Özelliklerseçin.

  5. Full-Text Durdurma Listesi Özellikleri iletişim kutusunda:

    1. Eylem liste kutusunda şu eylemlerden birini seçin: Stopwordekle, Stopwordsil, Tüm stopword'leri silveya Durdurma listesini temizle.

    2. Seçili eylem için Stopword metin kutusu etkinleştirildiyse, tek bir stopword girin. Bu durak sözcük benzersiz olmalıdır. Seçtiğiniz dil için bu durak listesinde zaten olamaz.

    3. Seçili eylem için Tam metin dili liste kutusu etkinleştirildiyse, bir dil seçin.

  6. Tamamseçin.

Durdurma listelerini ve kullanımlarını yönetme

Durak listelerini görüntülemek ve yönetmek için aşağıdaki yöntemleri kullanın.

Görev Method
Durdurma listesindeki tüm stopword'leri görüntüleme sys.fulltext_stopwords kullanın.
Mevcut veritabanındaki tüm durdurma listeleri hakkında bilgi edinin sys.fulltext_stoplists ve sys.fulltext_stopwords kullanın.
Sözcük ayırıcı, eş anlamlılar sözlüğü ve durdurma listesi bileşiminin belirteçleştirme sonucunu görüntüleme sys.dm_fts_parser kullanın.
Stopwords bir tam metin sorgusunda Boole işleminin başarısız olmasına neden olursa, hata mesajını bastır. Sunucu yapılandırması: gürültü sözcüklerini dönüştürme seçeneğini kullanın.

Stopword pozisyonu hakkında daha fazla bilgi

Tam metin dizini, durdurma sözcüklerinin dahil edilmesini göz ardı etse de, konumlarını dikkate alır. Örneğin, şu ifadeyi düşünün: Instructions are applicable to these Adventure Works Cycles models. Aşağıdaki tabloda tümcecikteki sözcüklerin konumu yer alır:

Kelime Konum
Instructions 1
are 2
applicable 3
to 4
these 5
Adventure 6
Works 7
Cycles 8
models 9

2, 4 ve 5 numaralı konumlarda bulunan durak kelimeler aretothese , , tam metin dizinden çıkarılmıştır. Ancak, konum bilgileri korunur ve böylece ifadedeki diğer sözcüklerin konumu etkilenmez.

SQL Server 2005'ten gürültü kelimelerini yükseltme

SQL Server 2005 (9.x) gürültülü kelimeler, durdurucu kelimelerle değiştirilmiştir. Veritabanı SQL Server 2005'ten (9.x) yükseltildiğinde, kirli sözcük dosyaları artık kullanılmaz. Ancak, gürültülü kelime dosyaları klasörde FTDATA\FTNoiseThesaurusBak saklanır ve ilgili durak listelerini güncellerken veya oluşturduğunuzda onları daha sonra kullanabilirsiniz. Kirli sözcük dosyalarını durdurma listelerine yükseltme hakkında bilgi için bkz. Yükseltme Full-Text Arama.