Aracılığıyla paylaş


Bir XML sütun üzerinde tam metin dizini

Tam metin dizini XML değerleri içeriğinin dizinini oluşturur, ancak XML biçimlendirmesi yoksayar XML sütun üzerinde oluşturabilirsiniz.Öznitelik sayısal değerler sürece dizine tam metin değerlerdir.Öğe etiketleri token sınırları kullanılır.Mümkün olduğunda, tam metin araması ile XML dizini aşağıdaki biçimde birleştirebilirsiniz:

  1. İlk olarak, XML değerleri ilgisini tam metin araması SQL kullanarak filtre uygulayın.

  2. Sonra XML sütun üzerinde XML dizin kullanan XML değerleri sorgular.

ÖRNEK: Sorgulama XML ile tam metin araması birleştirme

XML sütun üzerinde tam metin dizini oluşturulduktan sonra aşağıdaki sorgu bir XML değeri "özel" sözcüğü bir kitap başlığı içerdiği denetler:

SELECT * 
FROM   T 
WHERE  CONTAINS(xCol,'custom') 
AND    xCol.exist('/book/title/text()[contains(.,"custom")]') =1

The contains() method uses the full-text index to subset the XML values that contain the word "custom" anywhere in the document.The exist() clause ensures that the word "custom" occurs in the title of a book.

Kullanan tam metin aramasıcontains() ve XQuery olan mantığı. contains()İkinci bir alt dize eşleştirme ve önceki dallanma kullanan eşleştirme simgesi.Nedenle ise arama dizesi olan "Çalışma"başlığında, eşleşmeleri "içerir" Çalıştır","çalışan"ve"çalışan", çünkü her iki tam-metincontains() ve Xquery contains() karşılanan. However, the query does not match the word "customizable" in the title in that the full-text contains() fails, but the Xquery contains() is satisfied.Genellikle, yalnızca alt dize eşleştirme, tam metin içincontains() yan be removed.

Ayrıca, tam metin araması sözcüğü dallanma, ancak XQuery kullanırcontains() olan bir hazır bilgi eşleşme.Bu fark, bir sonraki örnekte gösterilmiştir.

ÖRNEK: Stemming kullanarak XML değerleri tam metin araması

XQuerycontains() Önceki örnekte genellikle gerçekleştirilen onay edemiyor ortadan. Bu sorgu göz önünde bulundurun:

SELECT * 
FROM   T 
WHERE  CONTAINS(xCol,'run') 

Sözcüğü "belgeye eşleşmeler arama koşulu dallanma nedeniyle bitti".Ayrıca, arama kapsamı XQuery kullanarak onay.

XML, tam metin dizini olan AXSD kullanarak ilişkisel sütunlara decomposed, XML görünümü üzerinde oluşan XPath sorguları değil gerçekleştirin tam metin araması temel tablolar.