Tam metin arama genel bakış

Tam metin sorguları sözcükleri ve tümcecikleri İngilizce veya Japonca gibi belirli bir dilin kurallarına göre çalıştırılarak dilbilimsel metin veri aramaları tam metin dizinlerini içinde gerçekleştirin.Tam metin sorguları basit sözcükleri ve tümcecikleri veya bir sözcük veya deyimin birden fazla form ekleyebilirsiniz.

Tam metin arama içinde bir geniş uygulanabilir aralık e-işletmeler gibi iş senaryosu — bir web sitesinde; öğeler için aranıyor Law firmalarından — arama durum geçmişleri legal-veri depo; ya da İnsan Kaynakları departmanları — eşleşen iş tanımlarıyla birlikte depolanan kaldığı yerden devam eder.Temel yönetim ve tam metin araması, geliştirme görevleri ne olursa olsun iş senaryoları eşdeğerdir.Ancak, belirli iş senaryosunda, tam metin dizini ve sorgu iş amaçlarını gerçekleştirmek üzere honed.Örneğin, bir e-iş maximizing performans için olabilir sıralaması'den daha önemli sonuçlar, geri çekme doğruluğu (kaç eşleri var aslında bir tam metin sorgusu tarafından döndürülen) veya birden çok dil desteği.Bir avukatlık firması için olası her isabet döndürerek (toplam geri çekme bilgi) en önemli göz önüne almak isteyebilirsiniz.

Bir veritabanı için tam metin aramayı yapılandırma hakkında genel bakış

Herhangi bir senaryo için bir veritabanı Yöneticisi veritabanında tam metin araması için tablo sütunları yapılandırmak için aşağıdaki temel adımları gerçekleştirir:

  1. tam metin kataloğu oluşturun.

  2. Aramak istediğiniz her tablo üzerinde bir tam metin dizini tarafından oluşturun:

    1. Tam metinli dizine eklemek istediğiniz her metin sütunları tanımlayın.

    2. İkili verileri olarak depolanan belgeleri belirli bir sütun içeriyorsa (varbinary, varbinary(max), veya image veri), bir tablo sütununu belirtmelisiniz ( türü sütun) her belgede dizini Oluşturulmakta olan sütun türünü tanımlar.

    3. Belirtmek istediğiniz dil tam metin araması sütunu belgelerde kullanılacak.

    4. Tam metin dizini üzerinde değişiklikler temel tablo ve sütunlarını izlemek için kullanmak istediğiniz değişiklik izleme mekanizması seçin.

Tam metin arama destekleyen birden çok dil, şu dile ait bileşenleri: sözcük ayırıcılarını ve sözcük köklerini, stopwords (etkisiz sözcükler) ve eş anlamlılar dosyaları içeren stoplists.Eş Anlamlılar dosyaları ve bazı durumlarda stoplists gerektiren yapılandırma bir veritabanı yöneticisi tarafından.Verilen eş anlamlılar dosyası karşılık gelen dili kullanan tüm tam metin dizinlerini destekler ve belirli bir stoplist, istediğiniz sayıda tam metin dizin ile ilişkili olabilir.

Daha fazla bilgi için bkz: Tam metin araması yönetme.

Tam metin sorguları genel bakış

Bir tam metin dizini sütun eklendikten sonra uygulamaların ve kullanıcıların tam metin sorguları sütunlarındaki metin üzerinde çalıştırabilirsiniz.Bu sorgular herhangi birini arayabilirsiniz:

  • Bir veya daha fazla belirli sözcükleri veya tümceleri (Basit terimi)

  • Bir sözcük veya deyim sözleri nerede başlaması ile belirtilen metin (önek terimi)

  • Belirli bir sözcüğün deyimlerin (generation terim)

  • Bir sözcük veya tümcecik için yakın başka bir sözcük veya tümcecik (yakınlık terimi)

  • Belirli bir sözcüğün eşanlamlı formları (Eş Anlamlılar)

  • Sözcükleri veya ağırlıklı değerleri kullanarak phrases (Ağırlıklı terimi)

Tam metin sorguları kullanan tüm küçük bir küme , Transact-SQL yüklemler (CONTAINS ve freetext) ve işlevleri (CONTAINSTABLE ve freetexttable).Ancak, belirli bir iş senaryosu arama amaçları tam metin sorguları tam yapısını etkileyen; Örneğin:

  • e-iş — bir Web sitesi sitesinde bir ürün arama:

    SELECT product_id FROM products WHERE CONTAINS(product_description, ”Snap Happy 100EZ” OR FORMSOF(THESAURUS,’Snap Happy’) OR ‘100EZ’) AND product_cost<200 …
    
  • İşe alma senaryo — çalışma deneyimi olan iş adayları aranıyor SQL Server:

    SELECT candidate_name,SSN FROM candidates WHERE CONTAINS(candidate_resume,”SQL Server”) AND candidate_division =DBA
    

Daha fazla bilgi için bkz: SQL Server tam metin araması kullanma sorgulama.

İçin tam metin araması LIKE karşılaştırması

In contrast to full-text search, the LIKE Transact-SQL predicate works on character patterns only.Ayrıca, LIKE ikili biçimlendirilmiş veri sorgulamak için kullanamazsınız.Üstelik, yapılandırılmamış metin veri büyük miktarda karşı benzer bir sorgu eşdeğer bir tam metin sorgusu aynı verilere karşı daha yavaştır.BENZER bir sorgu karşı milyonlarca satır metin veri döndürmek için dakika sürebilir; tam metin sorgusu yalnızca saniye sürebilir, ancak daha az karşı aynı veri türüne bağlı olarak döndürülen satır sayısı.