Anlam sıralamasını yapılandırma ve arama sonuçlarında başlık döndürme
Bu makalede, bir sonuç kümesi üzerinde semantik derecelendirme çağırmayı ve en semantik olarak ilgili sonuçları yığının en üstüne yükseltmeyi öğrenin. Ayrıca en ilgili terimler ve tümcecikler üzerinde vurgular ve anlamsal yanıtlar içeren anlamsal başlık alabilirsiniz.
Önkoşullar
Temel, Standart katman (S1, S2, S3) veya Depolama İyileştirilmiş katmanındaki (L1, L2) arama hizmeti, bölge kullanılabilirliğine bağlıdır.
Arama hizmetinizde semantik derece etkinleştirildi.
Zengin metin içeriğine sahip mevcut bir arama dizini. Anlam derecelendirmesi metin (açıklamasız) alanları için geçerlidir ve bilgilendirici veya açıklayıcı içerik üzerinde en iyi sonucu verir.
İstemci seçme
Anlam sıralamasını destekleyen bir arama istemcisi seçin. Aşağıda bazı seçenekleri görebilirsiniz:
- Azure portalında dizin tasarımcısını kullanarak anlamsal yapılandırma ekleyin.
- REST istemcisiyle Visual Studio Code
- .NET için Azure SDK
- Python için Azure SDK
- Java için Azure SDK
- JavaScript için Azure SDK
Anlamsal yapılandırma ekleme
Anlamsal yapılandırma, dizininizde semantik derecelendirme için alan girişleri oluşturan bir bölümdür. İstediğiniz zaman bir anlamsal yapılandırma ekleyebilir veya güncelleştirebilirsiniz; yeniden derleme gerekmez. Birden çok yapılandırma oluşturursanız varsayılan bir yapılandırma belirtebilirsiniz. Sorgu zamanında, sorgu isteğinde bir anlamsal yapılandırma belirtin veya varsayılanı kullanmak için bunu boş bırakın.
Anlamsal yapılandırmanın bir adı ve aşağıdaki özellikleri vardır:
Yalnızca bir başlık alanı belirtebilirsiniz, ancak istediğiniz kadar içerik ve anahtar sözcük alanınız olabilir. İçerik ve anahtar sözcük alanları için, daha düşük öncelikli alanlar kesilebileceği için alanları öncelik sırasına göre listeleyin.
Tüm anlamsal yapılandırma özelliklerinde atadığınız alanlar şu şekilde olmalıdır:
- ve olarak
searchable
özniteliklendirildiretrievable
- , ,
Collection(Edm.String)
dize alt alanları türündeEdm.String
dizelerCollection(Edm.ComplexType)
Azure portalında oturum açın ve anlam derecelendirmesi etkinleştirilmiş bir arama hizmetine gidin.
Sol gezinti bölmesindeki Dizinler'den bir dizin açın.
AnlamSal Yapılandırmalar'ı ve ardından Semantik Yapılandırma Ekle'yi seçin.
Yeni Anlam Yapılandırması sayfası, başlık alanı, içerik alanları ve anahtar sözcük alanları seçme seçenekleriyle birlikte açılır. Yalnızca aranabilir ve alınabilir dize alanları uygundur. İçerik alanlarını ve anahtar sözcük alanlarını öncelik sırasına göre listelediğinden emin olun.
Değişiklikleri kaydetmek için Tamam'ı seçin.
Önizleme sürümlerinden geçiş
Anlamsal derecelendirme kodunuz önizleme API'lerini kullanıyorsa, bu bölümde kararlı sürümlere nasıl geçiş yapılacağını açıklanmaktadır. Genel kullanılabilirlik doğrulaması için değişiklik günlüklerini de kontrol edebilirsiniz:
- 2023-11-01 (REST)
- .NET için Azure SDK (11.5) değişiklik günlüğü
- Python için Azure SDK (11.4) değişiklik günlüğü
- Java için Azure SDK (11.6) değişiklik günlüğü
- JavaScript için Azure SDK (12.0) değişiklik günlüğü
Davranış değişiklikleri:
14 Temmuz 2023 itibarıyla semantik dereceleyici dilden bağımsızdır. Çok dilli içeriklerden oluşan sonuçları, belirli bir dile karşı sapma olmadan yeniden düzenleyebilir. Önizleme sürümlerinde semantik derecelendirme, alan çözümleyicisi tarafından belirtilen dilden farklı sonuçların yerini alır.
2021-04-30-Preview ve sonraki tüm sürümlerde REST API ve aynı sürümü hedefleyen tüm SDK paketleri için:
semanticConfiguration
(dizin tanımında) anlamsal derecelendirmede hangi arama alanlarının kullanıldığını tanımlar. Daha önce 2020-06-30-Preview REST API'sindesearchFields
(sorgu isteğinde) alan belirtimi ve öncelik belirleme için kullanılıyordu. Bu yaklaşım yalnızca 2020-06-30-Preview sürümlerinde çalıştı ve diğer tüm sürümlerde kullanımdan kaldırıldı.
1. Adım: queryLanguage'ı kaldırma
Anlamsal derecelendirme altyapısı artık dilden bağımsızdır. Sorgu mantığınızda belirtilirsequeryLanguage
, artık anlamsal derecelendirme için kullanılmaz, ancak yine de yazım düzeltmesi için geçerlidir.
Yazım denetleyicisi kullanıyorsanız ve dil değeri yazım denetleyicisi tarafından destekleniyorsa saklayınqueryLanguage
. Yazım denetimi, diller arasında sınırlı kullanılabilirliğe sahiptir.
Aksi takdirde silin queryLanguage
.
2. Adım: şununla değiştirin searchFields
: semanticConfiguration
Kodunuz bu REST API sürümünü hedefleyen 2020-06-30-Preview REST API veya beta SDK paketlerini çağırıyorsa, anlamsal alanları ve öncelikleri belirtmek için sorgu isteğinde kullanıyor searchFields
olabilirsiniz. İlk beta sürümlerinde, searchFields
ilk sorguyu içinde searchFields
listelenen alanlarla kısıtlayan ve ayrıca anlamsal derecelendirme kullanıldıysa alan önceliğini ayarlayan çift amaçlıydı. Sonraki sürümlerde özgün searchFields
amacını korur, ancak artık anlamsal derecelendirme için kullanılmaz.
Tam metin aramasını adlandırılmış alanlar listesiyle sınırlamak için kullanıyorsanız sorgu isteklerinde tutun searchFields
.
Bu makaledeki yönergeleri izleyerek alan önceliklendirmesini belirtmek için dizin şemasına bir semanticConfiguration
ekleyin.
Sonraki adımlar
Anlamsal bir sorgu çalıştırarak anlam yapılandırmanızı test edin.