FREETEXTTABLE (Transact-SQL)

Bir tablo sıfır, bir veya daha fazla satır anlamı, ancak belirtilen metnin tam ifade değil eşleşen değerleri için karakter tabanlı veri türlerini içeren bu sütunlar için verir freetext_string. Normal Tablo adı gibi SELECT deyiminin FROM yan tümcesinde yalnızca FREETEXTTABLE başvurulabilir.

FREETEXTTABLE kullanan sorgular, Değer (RANK) ve her satır için tam metin anahtarını (anahtar) derecelendirme bir uygunluğu dönüş türü freetext tam metin sorguları belirtin.

Topic link iconTransact-SQL sözdizimi kuralları

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

Bağımsız değişkenler

  • table
    Is the name of the table that has been marked for full-text querying.table or viewcan be a one-, two-, or three-part database object name.Bir görünümü sorgularken, yalnızca bir tam metin dizini oluşturulmuş temel tablo dahil.

    table bir sunucu adı belirtemezsiniz ve sorgularda bağlantılı sunucularda kullanılamaz.

  • column_name
    Bir veya daha çok tam metin dizini oluşturulmuş sütun KIMDEN belirtilen tablo adı yan tümce.Sütun türü olabilir. char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary, veya varbinary(max).

  • column_list
    Indicates that several columns, separated by a comma, can be specified.column_list must be enclosed in parentheses.Sürece language_term Belirtilen tüm sütunları dili column_list aynı olması gerekir.

  • *
    Tam metin arama için kayıtlı olan tüm sütunlar için arama yapmak için kullanılması gerektiğini belirtir verilen freetext_string. Sürece language_term , tablodaki tüm tam metin dizini oluşturulmuş sütun dilinin aynı olması gerekir belirtildi.

  • freetext_string
    Metin içinde arama yapmak mı column_name. Sözcükleri, tümcecikleri veya tümce, herhangi bir metni girilebilir.Eşleşmeler, herhangi bir terim veya herhangi bir terimdir, formları bulunursa tam metin dizini oluşturulur.

    Farklı olarak CONTAINS arama nerede koşul VE bir anahtar sözcüğü kullanıldığında olur. freetext_string sözcüğü 've', bir etkisiz sözcük kabul edilir veya stopword ve atılacak.

    Use of WEIGHT, FORMSOF, wildcards, NEAR and other syntax is not allowed.freetext_string is wordbroken, stemmed, and passed through the thesaurus.If freetext_string başvurudur çift tırnak imi içinde bir tümceciği eşleştirme yerine gerçekleştirilir; dallanma ve eş anlamlıları gerçekleştirilemiyor.

  • language_term LANGUAGE
    Kaynakları sözcük bölme dallanma ve sorgunun parçası olarak eş anlamlılar ve stopword kaldırma için kullanılan dildir.Bu parametre seçime bağlıdır ve bir dize, tamsayı veya onaltılık düzendeki bir değerin bir dil yerel ayar tanıtıcısını (LCID) için ilgili belirtilebilir.If language_term , onu temsil edecek bir dil için arama koşulu tüm öğeleri uygulanacak belirtildi. Değer belirtilmezse, sütun tam metin dili kullanılır.

    Farklı dillerde belgeler ikili büyük nesne (BLOB'lar) tek bir sütunda birlikte depolanıyorsa, belirli bir belgenin yerel ayar tanıtıcısını (LCID) hangi dil içeriğini indekslemek belirler.When querying such a column, specifying LANGUAGElanguage_term can increase the probability of a good match.

    Bir dize olarak belirtildiğinde language_term karşılık gelen diğer ad sütun değerisys.syslanguages (Transact-SQL) Uyumluluk görüntüleyin. Dize gibi tek tırnak işareti içine alınmalıdır 'language_term'. Bir tamsayı belirtildiğinde language_term dili tanımlayan gerçek LCıD'tir. Onaltılık değer olarak, belirtilen language_term 0 x onaltılık LCID değeriyle izler. Onaltılık değer sıfır satır aralığı da dahil olmak üzere, sekiz basamak aşmamalıdır.

    If the value is in double-byte character set (DBCS) format, Microsoft SQL Server will convert it to Unicode.

    Belirtilen dil geçerli ya da orada değilse, kaynak bu dile karşılık gelen yüklenir SQL Server hata verir. Nötr dil kaynakları kullanmak için , 0x0 olarak belirtin. language_term.

  • top_n_by_rank
    Specifies that only the nhighest ranked matches, in descending order, are returned.Yalnızca bir tamsayı olduğunda, geçerlidir. nbelirtildi.If top_n_by_rank is combined with other parameters, the query could return fewer rows than the number of rows that actually match all the predicates.top_n_by_rank allows you to increase query performance by recalling only the most relevant hits.

Remarks

Tam metin yüklemleri ve tek bir tablo KIMDEN yüklemi örtük çalışma çalışır.Birden çok tabloyu aramak için , bir sonuç aramak için FROM yan tümcesinde birleştirilen tablo kullanmak küme olan iki veya daha fazla tablonun çarpımı.

FREETEXTTABLE aynı arama koşulu FREETEXT yüklemi kullanır.

CONTAINSTABLE gibi sütunların adlı sahip tablo döndürdü. ANAHTARI and RÜTBEhangi değerleri derecelendirmesi satır uygun satırları edinileceği ve kullanılacağı sorgu içinde başvurulan.

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

İzinler

FREETEXTTABLE, yalnızca belirtilen tabloyu veya tablonun başvurulan sütunları için uygun bir SELECT ayrıcalıklarına sahip kullanıcılar tarafından çağrılabilir.

Örnekler

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

Not

Bu örnek çalıştırmak için yüklemeniz gerekir Northwind veritabanıdır.Nasıl yükleneceği hakkında bilgi için Northwind Bkz: veritabanı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

The following example is identical and shows the use of the LANGUAGElanguage_term and top_n_by_rank parameters.

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 gereken top_n_by_rank parametre.