Yapılandırmak ve eş anlamlılar dosyaları için tam metin araması yönetme

De SQL Server, tam metin sorguları için kullanıcı tarafından belirtilen şartları, eş anlamlılar sözlüğü kullanarak eş arayabilirler. A SQL Server   eş anlamlılar belirli bir dilin eş anlamlılar kümesini tanımlar. Sistem yöneticileri tanımlamak iki formları eş anlamlı: genişleme setleri ve yedek kümesi. Tam metin veriler uygun bir eş anlamlılar geliştirerek, etkili verilerin tam metin sorguları kapsamını genişletebilirsiniz. Eş anlamlılar eşleşen tüm oluşur freetext ve freetextable sorgular ve herhangi bir içerir ve CONTAINSTABLE BİÇİMLERİYLE eşanlamlılar yan belirtin sorgular.

Bu Konuda

  • Temel görevler için bir sözlük dosyasını ayarlama

  • Eş anlamlılar dosyaları ilk içerik

  • Eşanlamlılar dosyalarının konumu

  • Nasıl sorguları kullanma eş anlamlılar dosyaları

  • Eş anlamlılar dosyası yapısını anlama

  • Eş anlamlılar dosyaları ile çalışma

  • Eş anlamlılar dosyası düzenleme

Temel görevler için bir sözlük dosyasını ayarlama

Önce sunucu örneği üzerinde tam metin arama sorguları için belirli bir dilde eşanlamlıları bakabilirsiniz, bu dilin eş anlamlılar eşlemeleri (eş) tanımlamanız gerekir. Her eş anlamlılar birini tanımlamak için el ile yapılandırılması gerekir:

  • Aksanları ayarlama

    Duyarlı veya büyük küçük harf duyarlı aksan işaretlerini tilde gibi için verilen bir eş anlamlılar sözlüğü için tüm arama şablonları (~), akut aksan işareti (´), ya da dönüştürülür (¨) (yani, aksan duyarlı veya aksan duyarsız). "Café" desen belirtmek diyelim tam metin sorgu diğer modelleri ile değiştirilecek. Eşanlamlılar aksan-duyarlı, tam metin arama "café" desen değiştirir ve "cafe". Eşanlamlılar aksan duyarlı ise, tam metin arama yalnızca desen "café" yerini alır. Varsayılan olarak, bir aksan-duyarlı.

  • Genişletme kümesi

    Eşanlamlıları "Yazar", "Yazar" ve "gazeteci" gibi bir grup bir genişleme içerir Bu bir başka için bir tam metin sorgu tarafından yerine. Bir maç için bir genişleme kümesindeki herhangi bir eşanlamlı içeren sorgular, her diğer eş genişleme kümesinde dahil etmek için genişletilir.

    Daha fazla bilgi için bkz: "xml yapısı, bir genişletme kümesi" Bu konudaki.

  • Yedek kümesi

    Yerine ikame kümesi tarafından değiştirilecek metin desen içerir. Örneğin, "xml yapısı bir yedek kümesi" bölümüne bakın Bu konudaki.

[Üst]

Eş anlamlılar dosyaları ilk içerik

SQL Serverxml eş anlamlılar dosyaları, desteklenen her dil için bir dizi sağlar. Bunlar, aslında boş bir dosyalarıdır. Tüm yaygın olarak yalnızca üst düzey xml yapısını içerdikleri SQL ServerDenetim ve yorumladı-out örnek sözlük.

Eş anlamlılar dosyaları ile yayımlanan SQL Servertümü aşağıdaki xml kodunu içerir:

<XML ID="Microsoft Search Thesaurus">

<!--  Commented out

    <thesaurus xmlns="x-schema:tsSchema.xml">
<diacritics_sensitive>0</diacritics_sensitive>
        <expansion>
            <sub>Internet Explorer</sub>
            <sub>IE</sub>
            <sub>IE5</sub>
        </expansion>
        <replacement>
            <pat>NT5</pat>
            <pat>W2K</pat>
            <sub>Windows 2000</sub>
        </replacement>
        <expansion>
            <sub>run</sub>
            <sub>jog</sub>
        </expansion>
    </thesaurus>
-->
</XML>

[Üst]

Eşanlamlılar dosyalarının konumu

Eş anlamlılar dosyaları varsayılan konumu şudur:

<SQL_Server_data_files_path>\mssql11.mssqlserver\mssql\ftdata\

Bu varsayılan konum aşağıdaki dosyaları içerir:

  • Dile özgü eş anlamlılar dosyaları

    Kurulum sırasında boş eş anlamlılar dosyaları Yukarıdaki konuma yüklenir. Desteklenen her dil için ayrı bir dosya sağlanır. Bu dosyalar sistem yöneticisinin özelleştirebilirsiniz.

    Eş anlamlılar dosyaları varsayılan dosya adları, biçimi kullanın:

    'ts' + <üç harfli dil-kısaltma> + '.xml'

    Eş anlamlılar dosyası adı verilen dil, kayıt defterinde aşağıdaki belirtilen için değer HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<örnek adı>\MSSearch\<dil-abbrev>.

  • Genel eş anlamlılar dosyası

    Bir boş genel eş anlamlılar dosyası, tsGlobal.xml.

Kayıt defteri anahtarını değiştirerek eşanlamlılar dosya adını ve konumunu değiştirebilirsiniz. Her bir dil için kayıt defterinde aşağıdaki değeri eş anlamlılar dosyası konumu belirtilir:

hklm/software/Microsoft/Microsoft SQL Server /<örnek adı>/MSSearch/dil/<dil kısaltması>/TsaurusFile

Genel eş anlamlılar dosyası nötr dil LCID 0 ile karşılık gelir. Bu değer, yalnızca yöneticiler tarafından değiştirilebilir.

[Üst]

Nasıl sorguları kullanma eş anlamlılar dosyaları

Eş anlamlılar sorgu dile özgü eş anlamlılar sözlüğü ve genel eş anlamlılar sözlüğü kullanır. İlk sorgu dile özgü dosyasını arar ve (zaten yüklü sürece) işlemek için yükler. Expansion set tarafından belirtilen dile özgü eşanlamlıları dahil etmek için sorgu genişletilir ve değiştirme kuralları eş anlamlılar dosyası ayarlayın. Bu adımları, ardından genel eş anlamlılar için yinelenir. Ancak, bir dönem dil belirli eş anlamlılar dosyası bir maçta bir parçası ise, terim küresel anlamlılar eşleştirmek için uygun.

[Üst]

Eş anlamlılar dosyası yapısını anlama

Her eş anlamlılar dosyası Kimliğine sahip bir xml konteyner tanımlar Microsoft Search Thesaurusve yorum, <!--... -->, içeren bir örnek sözlük. Eşanlamlılar içinde tanımlı bir <eş anlamlılar> gibi örnekleri ayarı Aksan, genişleme kümeleri ve yedek kümesi tanımlayan alt öğeleri içeren öğe:

  • xml Yapısı aksanlı ayarı

    Eş anlamlılar sözlüğü vurgu ayarı tek belirtilen <diacritics_sensitive> öğesi. Bu öğe denetimleri gibi duyarlılık, aksan bir tamsayı değeri içerir:

    Aksanları ayarlama

    Değer

    XML

    Aksan duyarlı

    0

    <diacritics_sensitive>0</diacritics_sensitive>

    Aksan duyarlı

    1

    <diacritics_sensitive>1</diacritics_sensitive>

    [!NOT]

    Bu ayar yalnızca bir kez dosyasında uygulanabilir ve dosyadaki tüm arama şablonları için geçerlidir. Bu ayar, tek tek modelleri için belirtilemez.

  • xml yapısı, bir genişletme ayarla

    Her genişleme kümesi içinde alınmış bir <genişleme> öğesi. Bu öğenin içinde bir veya daha fazla alternatifleri içinde belirttiğiniz bir <sub> öğesi. Genişleme kümesinde birbirine eş olan değişimler grubu belirtebilirsiniz.

    Örneğin, tedavi alternatifleri "Yazar", "Yazar" ve "gazeteci" genişleme bölümü düzenleyebilirsiniz eş anlamlı. eşleşmeleri bir alternatifi olarak tam metin arama sorguları genişleme kümesinde belirtilen tüm değiştirmeler dahil etmek için genişletilir. Eş anlamlılar bir form ya da kelime "Yazar", freetext sorgusu keserken bu nedenle, yukarıdaki örnekte, tam metin arama da "Yazar" sözcüklerini içeren arama sonuçları döndürür ve "gazeteci".

    Bu ne genişletme bölümüne görünüm için yukarıdaki örnek istediğiniz ayarlanmıştır:

     <expansion>
             <sub>writer</sub>
             <sub>author</sub>
             <sub>journalist</sub>
     </expansion>
    
  • xml yapısı, bir yedek kümesi

    Her bir yedek kümesi içinde alınmış bir <yerine> öğesi. Bu öğenin içinde bir veya daha fazla desen belirleyebilirsiniz bir <pat> eleman ve sıfır veya daha fazla oyuncu değişikliği <alt> öğeleri, tek başına eşanlamlı. Yedek kümesi tarafından değiştirilecek bir desen belirtebilirsiniz. Desenler ve değişimler bir sözcük ya da sözcük dizisi içerir. Bir deseni için belirtilen hiçbir alternatifi ise, desen kullanıcı sorgudan kaldırma etkisi vardır.

    "" Windows 2000 tarafından"değiştirilecek W2K", deseni, istediğiniz sorguları diyelim ya da "xp", oyuncu değişikliği. "W2K için" tam metin sorgu çalıştırma, tam metin arama yalnızca "Windows 2000" içeren arama sonuçları döndürür ya da "xp". "W2K" içeren sonuçları döndürmez. Bunun sebebi "W2K" desen "değiştirildi" desen "Windows 2000" ile ve "xp".

    Bu ne değiştirme bölümüne görünüm için yukarıdaki örnek istediğiniz ayarlanmıştır:

     <replacement>
             <pat>W2K</pat>
             <sub>Windows 2000</sub>
             <sub>XP</sub>
     </replacement>
    

    Benzer modeller ile eşleşen iki yedek kümesi varsa, artık iki önceliklidir. Örneğin, eş anlamlılar sorgu için "Internet Explorer çevrimiçi topluluk" formlar çalıştırma ve aşağıdaki yedek kümesi, "Internet Explorer" yedek kümesi, "Internet" üzerinden öncelik kazanır. yedek kümesi. Sorgu "IE çevrimiçi topluluk" Bu nedenle işlenir ya da "IE 5 online topluluk".

    <replacement>
             <pat>Internet</pat>
             <sub>intranet</sub>
    </replacement>
    

    ve

    <replacement>
             <pat>Internet Explorer</pat>
             <sub>IE</sub>
             <sub>IE 5</sub>
    </replacement>
    

[Üst]

Eş anlamlılar dosyaları ile çalışma

Eş anlamlılar dosyası düzenlemek için

  • Eş anlamlılar dosyası düzenleme

Güncelleştirilmiş eş anlamlılar dosyası yüklenemedi

Sözcük ayırıcısı, eş anlamlılar ve stoplist birlikte tokenization sonucunu görüntülemek için

[Üst]

Eş anlamlılar dosyası düzenleme

Belirli bir dilin eş anlamlılar, eş anlamlılar dosyası (xml dosyası) düzenleyerek yapılandırılabilir. Kurulum sırasında yalnızca eş anlamlılar dosyaları boş <xml> konteyner ve yorumladı-out örnek <eş anlamlılar> öğesi yüklenir. O bakmak için Eşanlamlıları düzgün çalışması tam metin arama sorguları için sırayla, gerçek bir oluşturmanız gerekir <eş anlamlılar> eş kümesini tanımlayan öğe. Eşanlamlı, genişleme ayarlar ve değiştirme setleri iki form tanımlayabilirsiniz.

Eş anlamlılar dosyaları kısıtlamaları

Eş anlamlılar dosyası düzenlemek için aşağıdaki kısıtlamalar geçerlidir:

  • Yalnızca sistem yöneticileri, güncelleştirmek, değiştirmek veya eş anlamlılar dosyaları silin.

  • Metin Düzenleyicisi araçlarını kullanarak eş anlamlılar dosyaları düzenlerken, dosyaları Unicode biçiminde kaydedilmesi gerekir ve bayt sırası işareti belirtilmelidir.

  • Eş anlamlılar girişleri boş olamaz veya boş bir dize sonu kelime.

  • Eş anlamlılar dosyası tümcecikleri 512 karakterden uzun olmalıdır.

  • Eş anlamlılar sözlüğü herhangi bir yinelenen girişleri arasında içermemelidir <alt> girişleri genişleme setleri ve <pat> öğeleri değiştirme setleri.

Eş anlamlılar dosyaları için öneriler

Eş anlamlılar dosyası girişleri hiçbir özel karakterler içeren öneririz. Sözcük ayırıcılarını ince davranışları ile ilgili olarak özel karakterler var çünkü. Bir eş anlamlılar girişi özel karakterler içeriyorsa, bu giriş ile birlikte kullanılan sözcük ayırıcılarını tam metin sorgusu için ince davranış üzerinde etkileri olabilir.

Öneririz <sub> girişleri içeren herhangi stopwords beri stopwords tam metin dizinden çıkarılır. Sorguları eklemek için genişletilmiş <alt> bir eş anlamlılar dosyası girişleri ve eğer bir <alt> girişini içeren stopwords, gereksiz sorgu boyutunu artırır.

Eş anlamlılar dosyası düzenlemek için

  1. Eş anlamlılar dosyası Not Defteri'nde açın.

  2. Eş anlamlılar dosyası ilk kez düzenliyorsanız, başında ve dosyanın sonuna aşağıdaki yorum satırları sırasıyla kaldırın:

    <!--Commented out
    -->
    
  3. Ekleme, değiştirme veya bir yedek kümesi veya genişletme kümesi silin.

  4. Dosyayı kaydedin ve Not Defteri'ni kapatın.

  5. Kullanım sp_fulltext_load_thesaurus_file eş anlamlılar dosyası içeriğini yüklemek için tempdb, eş anlamlılar dosyası diline karşılık gelen yerel tanıtıcı (LCID) belirterek. Örneğin, İngilizce eş anlamlılar dosyası için tsenu.xml, karşılık gelen LCID 1033'tür.

    USE AdventureWorks ;
    EXEC sys.sp_fulltext_load_thesaurus_file 1033;
    GO
    

[Üst]

Ayrıca bkz.

Başvuru

(Transact-sql) içerir

CONTAINSTABLE (Transact-sql)

freetext (Transact-sql)

freetexttable (Transact-sql)

Kavramlar

Tam metin araması (SQL Server)