Share via


sys.dm_fts_parser (Transact-SQL)

Uygulandıktan sonra son belirteçlere ayırma sonucu verir bir verilen sözcük ayırıcısı, Eş anlamlılar sözlüğü, and stoplist birleşim sorgusuna dize giriş.Belirtilen sorgu için tam metin in çıkış belirteçlere ayırma sonucu eşdeğerdir dize.

sys.dm_fts_parser dinamik yönetimi bir işlevdir.

sys.dm_fts_parser('query_string', lcid, stoplist_id, accent_sensitivity)

Bağımsız değişkenler

  • query_string
    The query that you want to parse.query_string can be a string chain that CONTAINS syntax support.Örneğin, inflectional formları, bir eş anlamlılar sözlüğü ve mantıksal işleçleri de içerebilir.

  • lcid
    Yerel ayar tanıtıcısı (LCID) ayrıştırmak için kullanılacak sözcük ayırıcısı query_string.

  • stoplist_id
    ID of the stoplist, if any, to be used by the word breaker identified by lcid.stoplist_id is int.'NULL' belirtirseniz, hiçbir stoplist kullanılır.0 Olarak belirtirseniz, sistem STOPLIST kullanılır.

    Bir veritabanı içinde benzersiz BIR stoplist kimliğidir.Bir tam metin dizini bir verilen tablosu kullanımda stoplist KIMLIĞINI elde etmek için sys.fulltext_indexes kataloğunu görüntüleyin.

  • accent_sensitivity
    Boolean value that controls whether full-text search is sensitive or insensitive to diacritics.accent_sensitivity is bit, with one of the following values:

    Değer

    Aksan duyarlılığı is…

    0

    Büyük küçük harf duyarlı

    "Café" ve "cafe" gibi sözcükler aynı kabul edilir.

    1

    Duyarlı

    "Café" ve "cafe" gibi sözcükler, farklı değerlendirilir.

    Not

    Bu değeri için bir tam metin kataloğu geçerli ayarlarını görüntülemek için , aşağıdaki çalıştırın Transact-SQL Deyim: SELECT fulltextcatalogproperty('catalog_name', 'AccentSensitivity');.

Dönen Tablo

Sütun adı

Veri türü

Açıklama

anahtar sözcük

varbinary(128)

Bir sözcük ayırıcı tarafından döndürülen belirli bir anahtar onaltılı gösterimi.Bu gösterim, anahtar sözcüğü tam metin dizininde depolamak için kullanılır.Bu değer, okunabilir değil, ancak bir tam metin dizin içeriği gibi döndüren diğer dinamik yönetimi görünümleri çıktı için belirli bir anahtar sözcük döndürdü ilgili kullanışlıdır sys.dm_fts_index_keywords and sys.dm_fts_index_keywords_by_document.

NoteNote:
OxFF sonuna bir dosya veya dataset gösteren özel (special) karakteri temsil eder.

group_id

int

Belirli bir terim oluşturulan mantıksal bir grubundan differentiating için kullanışlı bir tamsayı içerir.Örneğin, 'Server AND DB OR FORMSOF(THESAURUS, DB)"' aşağıdaki group_id değerleri ingilizce olarak oluşturur:

group_id display_term
1Sunucu
2db
3db

phrase_id

int

Bileşik sözcükleri, tam metin gibi diğer formlara sözcük ayırıcısı verildiği durumlarda differentiating için kullanışlı bir tamsayı içerir.Bazı durumlarda, bileşik sözcükleri ('multi-million') varlığını ile diğer formları, sözcük ayırıcısı verilir.Diğer formlar (ifadeler), bazen tanır gerekir.

Örneğin, 'multi-million' aşağıdaki phrase_id değerleri ingilizce olarak oluşturur:

phrase_id display_term
1 multi
1 million
2 multimillion

oluşumu

int

Her terim ayrıştırma sonuç sırasını gösterir.Örneğin, tümcecik için"SQL Server query processor"oluşumu ingilizce Tümcecikteki şartlarıyla ilgili oluşumu aşağıdaki değerleri içerebilir:

oluşumu display_term
1 SQL
2 Server
3 query
4 processor

special_term

nvarchar(8000)

Sözcük ayırıcı, aşağıdakilerden birini verilen terimi özellikleri hakkında bilgi içerir:

Tam eşleşme

Etkisiz sözcük

Tümce sonuna

Paragrafın sonuna

Bölüm sonu

display_term

nvarchar(8000)

Anahtar sözcüğü okunabilir form içerir.Olarak tam metin dizini içeriğini erişmek için tasarlanmış işlevleriyle görüntülenen bu terim denormalization sınırlaması nedeniyle özgün terimine aynı olmayabilir.Ancak, özgün girdiden tanıyabilmesine yardımcı olmak için kesin olmalıdır.

expansion_type

int

Belirli terim, birini, genişletme yapısı hakkında bilgi içerir:

0 Tek bir sözcüğü durum =

2 Inflectional genişletme =

4 Eş anlamlıları genişletme/değiştirme =

Örneğin, bir genişletme çalıştırmak, eş anlamlılar sözlüğünü tanımlayan bir durum göz önünde bulundurun. jog:

<expansion>

<sub>run</sub>

<sub>jog</sub>

</expansion>

Terimi FORMSOF (FREETEXT, run) Aşağıdaki çıktıyı oluşturur:

run ile expansion_type = 0

runs ile expansion_type = 2

running ile expansion_type = 2

ran ile expansion_type = 2

jog ile expansion_type = 4

source_term

nvarchar(8000)

Terim veya, belirli bir terim oluşturulan ayrıştırıldı veya deyim.Örneğin, bir sorguya ' "word breakers" AND stemmers' Aşağıdaki source_term değerleri ingilizce olarak oluşturur:

source_term display_term
sözcük ayırıcılarınısözcük
sözcük ayırıcılarınıAyırıcılar
sözcük köklerinisözcük köklerini

Remarks

sys.dm_fts_parser gibi tam metin yüklemler özelliklerinin ve sözdizimini destekler.İÇERİR and freetextve gibi işlevlericontainstable and freetexttable.

Unicode özel karakterler ayrıştırma için kullanma

Sorguda hangi koşullarda ayrıştırma dize, sys.dm_fts_parser uses the harmanlama sorgu belirtmediğiniz sürece için bağlı olduğunuz veritabanının dize olarakUnicode.Bu nedenle, özel karakterler (ç, ya da ü içeren bir Unicode dizesi için çıktı, harmanlama veritabanının türüne bağlı olarak beklenmeyen olabilir.Bir sorgu dizesi, veritabanı harmanlama bağımsız olarak işlemek için , dize ile önek. N, diğer bir deyişle, N'QUERY_STRING'.

Daha fazla bilgi için bkz: C"Bir dize çıkışını bu içeren özel karakterler, bu konunun ilerisinde görüntüleme".

Ne zaman kullanım sys.dm_fts_parser

sys.dm_fts_parser hata ayıklama amacıyla çok güçlü olabilir.Bazı önemli kullanım senaryoları şunları içerir:

  • Nasıl bir belirli bir sözcük ayırıcısı, belirli bir girişi işler anlamak için

    Sorguda sonuçlar döndürdüğünde, olası bir nedeni sözcük ayırıcısı ayrıştırma ve veri dökümü yoludur.Sys.dm_fts_parser kullanarak, bir sözcük ayırıcısı için tam metin dizini geçirmeden sonucu keşfedin.Buna ek olarak, hangi koşulları, tam metin dizininde arama stopwords olduğunu görebilirsiniz.Belirtilen stoplist içinde olup belirli bir dil bağlıdır için bir terimdir bir stopword olup stoplist_id işlev olarak değeri.

    Aynı zamanda, kullanıcının, sözcük ayırıcısı, aksan duyarlılığı bilgilerini aklınızda bulunması giriş nasıl ayrıştırmaz görmesini sağlayacak Aksan duyarlılığı bayrağı unutmayın.

  • Sözcük kökü ayırıcı, belirli bir girişte nasıl çalıştığını anlamak için

    Nasıl sözcük ayırıcısı ve sözcük kökü ayırıcı Sorgu terimi ve stemming formları aşağıdaki BIÇIMLERIYLE yan tümce içeren sorgu CONTAINS veya CONTAINSTABLE belirterek ayrıştırma dışında bulabilirsiniz:

    FORMSOF( INFLECTIONAL, query_term )
    

    sonuçlar, hangi koşulları için tam metin dizini geçirilir söyleyin.

  • Eş anlamlılar sözlüğünü nasıl genişletir veya giriş bölümünü veya tümünü değiştirir anlamak için

    Ayrıca belirtebilirsiniz:

    FORMSOF( THESAURUS, query_term )
    

    The results of this query show how the word breaker and thesaurus interact for the query term.you can see the expansion or replacements from the thesaurus and identify the resulting query that is actually being issued against the full-text index.

    Bu ise, kullanıcı sorunları dikkat edin:

    FORMSOF( FREETEXT, query_term )
    

    The inflectional ve eşanlamlılar özellikleri otomatik olarak gerçekleşir.

Ek olarak önceki kullanım senaryoları, sys.dm_fts_parser anlamak ve tam metin sorgusu ile birçok diğer sorunları gidermek için önemli ölçüde yardımcı olabilir.

İzinler

Üyelik gerektirir sysadmin sunucu rolünü ve erişim hakları belirtilen stoplist sabit.

Örnekler

C.Bir anahtar sözcük veya tümcecik bir belirli bir sözcük ayırıcısı çıktısını görüntüleme

Aşağıdaki örnek çıkış, LCID 1055'tir, ingilizce sözcük ayırıcı, kullanmasını ve hiçbir stoplist aşağıdaki sorguyu verir dize:

The Microsoft business analysis

Aksan duyarlılığı devre dışı bırakılır.

SELECT * FROM sys.dm_fts_parser (' "The Microsoft business analysis" ', 1033, 0, 0)

b.Stoplist süzme işlemi bağlamında bir belirli bir sözcük ayırıcısı çıktısını görüntüleme

Aşağıdaki örnek, aşağıdaki sorguyu kullanarak, LCID 1055'tir, ingilizce sözcük ayırıcı ve 77, ID olan, bir ingilizce stoplist çıktı verir dize:

"The Microsoft business analysis" OR "MS revenue"

Aksan duyarlılığı devre dışı bırakılır.

SELECT * FROM sys.dm_fts_parser (' "The Microsoft business analysis"  OR " MS revenue" ', 1033, 77, 0)

c.Özel karakterler içeren bir dize çıktısını görüntüleme

Aşağıdaki örnek, Fransız aşağıdaki dizeyi ayrıştırmak için Unicode kullanır:

français

Örneğin, Fransızca Dil LCID belirtir. 1036ve kullanıcı tanımlı bir stoplist KIMLIĞI 5. Aksan duyarlılığı etkinleştirildi.

SELECT * FROM sys.dm_fts_parser(N'français', 1036, 5, 1);