freetexttable (Transact-sql)
Bir işlev içinde kullanılan from yan , a Transact-SQLgerçekleştirmek için select deyimi bir SQL Servertam metin üzerinde tam metin arama dizin karakter tabanlı veri türleri içeren sütunlar. Bir tablo sıfır, bir veya daha fazla satır anlamı ve sadece tam ifade, belirtilen metin ile eşleşen değerleri içeren bu sütunlar için bu işlevi freetext_string. Normal tablo adı sanki freetexttable başvurulmaktadır.
freetexttable eşleşme olarak aynı tür yararlı freetext (Transact-sql),
Sorguları freetexttable kullanarak değeri (rank) ve her satır için tam metin anahtarını (key) derecelendirme uygunluğu döndürür.
[!NOT]
Tam metin arama tarafından desteklenen biçimleri hakkında bilgi için SQL Serverbakın Tam metin arama sorgusuyla.
Transact-SQL Sözdizim 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 için işaretlenmiş tablonun adı Sorgulanıyor. tableveya view bir tek, iki veya üç bölüm veritabanı nesnesi adı olabilir. Görünüm sorgularken, tek bir tam metin dizinlenmiş temel tablo dahil.tablebir sunucu adı belirtemezsiniz ve bağlantılı sunucuları sorgular kullanılamaz.
column_name
Bir veya daha fazla tam metin dizini oluşturulmuş sütunlar from yan tümcesinde belirtilen tablonun adıdır. The columns can be of type char, varchar, nchar, nvarchar, text, ntext, image, xml, varbinary, or varbinary(max).column_list
Bir virgülle ayrılmış birden fazla sütun belirtilen gösterir. column_listayraç içine alınmalıdır. Sürece language_termbelirtilen tüm sütunları dili column_listaynı olmalıdır.*
Tam metin arama için kayıtlı tüm sütunları aramak için kullanılması gerektiğini belirtir verilen freetext_string. Sürece language_termbelirtilirse, tüm tam metin dizini oluşturulmuş sütunlar tablosunda dili aynı olması gerekir.freetext_string
Metin içinde arama column_name. Sözcükler, ifadeler veya cümleler, dahil herhangi bir metin girilebilir. Maçlar, herhangi bir terim ya da herhangi bir terim formları bulunur, tam metin dizini oluşturulur.Tersine CONTAINS içinde arama koşul ve kullanıldığında bir anahtar kelime olduğunu freetext_stringkelime 've' bir sözcük, kabul edilir ya da stopword, atılır.
AĞIRLIK, BİÇİMLERİYLE, joker, yakın ve diğer sözdizimi kullanımını izin verilmez. freetext_stringkaynaklandığını ve eşanlamlılar geçirilen wordbroken olduğunu.
DİLlanguage_term
Kaynakları sözcük bölme, doğan ve eş anlamlılar sözlüğü ve stopword kaldırma sorgu bir parçası olarak kullanılan dildir. Bu parametre isteğe bağlıdır ve bir dize, tamsayı veya onaltılık değeri, bir dil yerel ayar tanıtıcısını (LCID) karşılık belirtilebilir. Eğer language_termbelirtilirse, temsil ettiği dil arama koşulu öğelerin tümüne uygulanır. Herhangi bir değer belirtilirse, sütun tam metin dili kullanılır.Farklı dillerde belgeler olarak büyük ikili nesneler (BLOB'lar) tek bir sütunda birlikte depolanıyorsa, verilen belgenin yerel ayar tanıtıcısını (LCID) içeriği dizine eklemek hangi dilde kullanılacağını belirler. Böyle bir sütun sorgularken belirterek LANGUAGE language_termiyi bir eşleşme olasılığını artırabilir.
Bir dizge olarak belirtilen language_term karşılık 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'. Bir tamsayı olarak belirtildiğinde language_termdilini tanımlayan gerçek LCID '. Onaltılı değer olarak belirtildiğinde language_term0 x LCID onaltılık değerini izliyor. Onaltılık değeri, sekiz basamak, öndeki dahil aşmamalıdır.
Değer ise çift baytlı karakter kümesi (dbcs) biçimi, Microsoft SQL ServerUnicode'a dönüştürür.
Belirtilen dil veya orada geçerli değilse kaynak yok bu dile karşılık gelen yüklü SQL Serverhata veriyor. Nötr dil kaynakları kullanmak için 0x0 olarak belirtmeniz language_term.
top_n_by_rank
Sadece belirtir n azalan, en yüksek sırada eşleşmeler döndürülür. Yalnızca bir tamsayı değeri, geçerli n, belirtilen. Eğer top_n_by_rankbirleştirilir diğer parametrelerle sorgu, aslında tüm yüklemler eşleşen satır sayısından daha az satır geri dönebilirler. top_n_by_rankyalnızca en alakalı hits hatırlatarak tarafından sorgu performansını artırmak sağlar.
Açıklamalar
Tam metin doğrulamaları ve çalışma from yüklemi örtülü tek bir tabloda fonksiyonları. Birden fazla tabloyu temel arama yapmak için iki veya daha fazla tablodan bir ürün bir sonuç kümesi üzerinde aramak için from yan tümcesinde birleştirilen tablo kullanın.
freetexttable freetext yüklemi aynı arama koşullarını kullanır.
CONTAINSTABLE gibi döndürülen tablo adlı sütunları vardır key ve SIRASI, değerleri sıralama satır uygun satırları edinileceği ve kullanılacağı sorgu içinde başvurulan.
İzinler
freetexttable, yalnızca belirtilen tabloyu veya tablonun başvurulan sütunları uygun select ayrıcalıklarına sahip kullanıcılar tarafından çağrılabilir.
Örnekler
A.Bir iç birleşim freetext kullanma
Aşağıdaki örnek, kategori adını ve açıklamasını ilgili tüm kategorilerden verir sweet, candy, bread, dry, ya meat.
USE AdventureWorks2012
GO
SELECT FT_TBL.Description
,KEY_TBL.RANK
FROM Production.ProductDescription AS FT_TBL
INNER JOIN FREETEXTTABLE(Production.ProductDescription,
Description,
'high level of performance') AS KEY_TBL
ON FT_TBL.ProductDescriptionID = KEY_TBL.[KEY]
ORDER BY RANK DESC
GO
USE AdventureWorks2012
GO
SELECT FT_TBL.Description
,KEY_TBL.RANK
FROM Production.ProductDescription AS FT_TBL
INNER JOIN FREETEXTTABLE(Production.ProductDescription,
Description,
'high level of performance') AS KEY_TBL
ON FT_TBL.ProductDescriptionID = KEY_TBL.[KEY]
ORDER BY RANK DESC
GO
B.Dil ve en yüksek sırada maçları belirtme
Aşağıdaki örnek, aynı ve kullanımını gösterir LANGUAGE language_term ve top_n_by_rank parametreleri.
USE AdventureWorks2012
GO
SELECT FT_TBL.Description
,KEY_TBL.RANK
FROM Production.ProductDescription AS FT_TBL
INNER JOIN FREETEXTTABLE(Production.ProductDescription,
Description,
'high level of performance',
LANGUAGE N'English', 2) AS KEY_TBL
ON FT_TBL.ProductDescriptionID = KEY_TBL.[KEY]
ORDER BY RANK DESC
GO
USE AdventureWorks2012
GO
SELECT FT_TBL.Description
,KEY_TBL.RANK
FROM Production.ProductDescription AS FT_TBL
INNER JOIN FREETEXTTABLE(Production.ProductDescription,
Description,
'high level of performance',
LANGUAGE N'English', 2) AS KEY_TBL
ON FT_TBL.ProductDescriptionID = KEY_TBL.[KEY]
ORDER BY RANK DESC
GO
[!NOT]
DİL language_term parameter kullanmak için gerekli değildir top_n_by_rank parametresi.
Ayrıca bkz.
Görevler
Tam metin arama sorguları (Visual Veritabanı Araçları) oluştur
Başvuru
fulltext Katalog (Transact-sql) oluştur
fulltext INDEX (Transact-sql) oluştur
Satır kümesi işlevler (Transact-sql)
Kavramlar
Oluşturma ve tam-metin katalogları yönetme