freetexttable (Transact-SQL)

Bir tablo sıfır, bir ya da daha fazla satır karakter tabanlı veri türleri için ne anlama geldiğini, ancak metnin belirtilen değil doğru yazılış uyan değerleri içeren bu sütunlar için verir freetext_string.freetexttable yalnızca normal tablo adı gibi bir select deyim from yan tümce içinde başvurulabilir.

Dönüş değeri (rank) ve tam metin anahtar (key) her satır için derecelendirme uygunluğu freetext türü tam metin sorguları freetexttable sorguları belirtin.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

FREETEXTTABLE (table , { column_name | (column_list) | * } 
          , 'freetext_string' 
     [ , LANGUAGE language_term ] 
     [ , top_n_by_rank ] )

Bağımsız değişkenler

  • table
    Tam metin sorgulamak için işaretlenmiş tablo adıdır.tableveya viewbir tek, iki veya üç bölümlü veritabanı nesnesi adı olabilir.Yalnızca bir tam metin dizini oluşturulmuş temel tablo görünüm sorgularken dahil edilmelidir.

    tablesunucu adı belirtemezsiniz ve bağlantılı sunucuları sorgular kullanılamaz.

  • column_name
    from yan tümcetümcesinde belirtilen tablo , tam metin dizinlenmiş sütunların bir veya daha fazla adıdır.The columns can be of type char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary, or varbinary(max).

  • column_list
    Virgül ile ayırarak, birden fazla sütun belirtilen gösterir.column_listayraç içine alınmalıdır.Sürece language_term belirtilirse, tüm sütunları dilinin column_list aynı olmalıdır.

  • *
    Tam metin arama için kayıtlı tüm sütunları aramak için kullanılacağını belirten verilen freetext_string.Sürece language_term belirtilmişse, tüm sütunların tam metin dizini oluşturulmuş tablo dili aynı olması gerekir.

  • freetext_string
    Metin içinde arama yapmak column_name.Sözcükleri, sözcük gruplarını veya cümleler, dahil olmak üzere herhangi bir metni girilebilir.Eşleşen herhangi bir terim ya da herhangi bir terim formları bulunursa tam metin dizini oluşturulur.

    Aksine arama koşulu CONTAINS yeri ve bir anahtar kullanıldığında freetext_string sözcüğü 've' etkisiz sözcükkabul veya stopwordve atılır.

    Ağırlık, formsof, joker, near ve diğer sözdizimi kullanımını izin verilmez.freetext_stringstemmed ve eşanlamlılar geçirilen wordbroken olur.freetext_string İçine çift tırnak içine bir tümcecik eşleştirme yerine gerçekleştirilir; dallanma ve eş anlamlılar sözlüğü yapılmamaktadır.

  • DİLlanguage_term
    Kaynakları sözcük bölme, dallanma ve eş anlamlılar sözlüğü ve stopword kaldırma sorgunun parçası olarak kullanılan dildir.Bu parametre seçime bağlıdır ve bir dize, tamsayı veya yerel ayar tanıtıcısı bir dil için (LCID) karşılık gelen onaltılık değeri olarak belirtilebilir.language_term Belirtilmişse, temsil ettiği dil arama koşulutüm öğeler için uygulanır.Herhangi bir değer belirtilmezse, sütun tam metin dili kullanılır.

    Farklı dillerde belgeler birlikte ikili büyük nesneleri (BLOB) tek bir sütunolarak depolanır, hangi dil, içerik dizini oluşturmak için kullanılan belirli bir belgenin yerel ayar tanıtıcısını (LCID) belirler.Böyle bir sütunsorgularken belirtme LANGUAGElanguage_term olasılığını artırmakiyi bir eşleşme.

    Bir dizebelirtildiğinde language_term karşılık gelen diğer ad sütun değeri sys.syslanguages (Transact-SQL) Uyumluluk Görünümü.dize gibi tek tırnak işareti içine alınmalıdır 'language_term'.Tamsayı belirtildiğinde language_term gerçek LCID tanıtan dili.Onaltılı değer olarak belirtildiğinde language_term 0 x onaltılık değerini ardında iseLCID.Onaltılık değeri, sekiz basamak, öndeki sıfırı dahil aşmamalıdır.

    Değer (DBCS) çift baytlık karakter kümesi biçiminde ise Microsoft SQL Server tarafından kendisine dönüştürülürUnicode.

    Belirtilen dil geçerli veya orada değilse, hiçbir kaynak bu dile karşılık gelen yüklü olan SQL Server işlevi bir hata.Nötr Dil kaynakları kullanmak için 0x0 olarak belirtmeniz language_term.

  • top_n_by_rank
    Yalnızca belirtir nazalan, en yüksek ranked eşleşmeler döndürülür.Yalnızca bir tamsayı değeri, geçerli n, belirtilir.top_n_by_rank Birleşiktir diğer parametreler ile sorgu aslında tüm yüklemleri. eşleşen satır sayısından daha az satır döndürmesine nedentop_n_by_rankyalnızca en uygun isabet geri çekmesini sorgu performansını artırmak sağlar.

Açıklamalar

Tam metin yüklemleri ve Kimden yüklemi örtülü bir tek tabloiş görür.Birden çok tabloyu aramak için birleştirilmiş bir tablo from yan tümce tümcesinde iki veya daha fazla tablo ürünü olan bir sonuç kümesi arama yapın.

freetexttable freetext karşılaştırma aynı arama koşullarını kullanır.

CONTAINSTABLE gibi döndürülen tablo adlı sütunları vardır anahtar ve derece, değerleri derecelendirme satır uygun satırları edinileceği ve kullanılacağı sorgu içinde başvurulan hangi.

Uyumluluk düzey 70'den az ise freetexttable anahtar sözcük olarak tanınmıyor.Daha fazla bilgi için, bkz. sp_dbcmptlevel (Transact-SQL).

İzinler

freetexttable, yalnızca belirtilen tablo veya tablobaşvurulan sütunları uygun select ayrıcalıklarına sahip kullanıcılar tarafından çağrılabilir.

Örnekler

Aşağıdaki örnek kategori adı ve açıklaması ile ilgili tüm kategoriler verir sweet, candy, bread, dry, veya meat.

Not

Bu örneği çalıştırmak için yükleme gerekecek Northwind veritabanı.Nasıl yükleneceği hakkında bilgi için Northwind veritabanı Bkz: Northwind ve pubs örnek veritabanları karşıdan yükleniyor.

USE Northwind;
SELECT FT_TBL.CategoryName 
    ,FT_TBL.Description
    ,KEY_TBL.RANK
FROM dbo.Categories AS FT_TBL 
    INNER JOIN FREETEXTTABLE(dbo.Categories, Description, 
        'sweetest candy bread and dry meat') AS KEY_TBL
        ON FT_TBL.CategoryID = KEY_TBL.[KEY];
GO

Aşağıdaki örnek aynıdır ve kullanımını gösterir LANGUAGElanguage_term ve top_n_by_rank parametreleri.

USE Northwind;
SELECT FT_TBL.CategoryName 
    ,FT_TBL.Description
    ,KEY_TBL.RANK
FROM dbo.Categories AS FT_TBL 
    INNER JOIN FREETEXTTABLE(dbo.Categories, Description, 
        'sweetest candy bread and dry meat',LANGUAGE 'English',2) 
        AS KEY_TBL
        ON FT_TBL.CategoryID = KEY_TBL.[KEY];
GO

Not

Dil language_term parameter kullanmak için gerekli değildir top_n_by_rank parametresi.