Azure AI Search'te moreLikeThis (önizleme)
Önemli
Bu özellik, Ek Kullanım Koşulları altında genel önizleme aşamasındadır. Önizleme REST API'si bu özelliği destekler.
moreLikeThis=[key]
, Belge Ara API'sinde, belge anahtarı tarafından belirtilen belgeye benzer belgeleri bulan bir sorgu parametresidir. ile moreLikeThis
bir arama isteği yapıldığında, söz konusu belgeden en iyi şekilde açıklayan arama terimleri ayıklanmış bir sorgu oluşturulur. Oluşturulan sorgu daha sonra arama isteğini yapmak için kullanılır.
moreLikeThis
parametresi, arama parametresiyle search=[string]
kullanılamaz.
Varsayılan olarak, tüm üst düzey aranabilir alanların içeriği dikkate alınır. Bunun yerine belirli alanları belirtmek istiyorsanız parametresini searchFields
kullanabilirsiniz.
moreLikeThis
Parametre karmaşık türler için desteklenmez ve karmaşık türlerin varlığı sorgu mantığınızı etkiler. Dizininiz karmaşık bir türse, yinelenen moreLikeThis
en üst düzey aranabilir alanlara ayarlamanız searchFields
gerekir. Örneğin, dizinin aranabilir türü varsa ve field2
bu, aranabilir field1
alt alanları olan karmaşık bir türse, değerinin searchFields
dışlanacak field2
şekilde field1
ayarlanması gerekir.Edm.String
Örnekler
Aşağıdaki tüm örneklerde Hızlı Başlangıç: Azure portalında arama dizini oluşturma bölümünden alınan oteller örneği kullanılmıştır.
Basit sorgu
Aşağıdaki sorgu, açıklama alanları parametresi tarafından moreLikeThis
belirtilen kaynak belgenin alanına en çok benzeyen belgeleri bulur:
GET /indexes/hotels-sample-index/docs?moreLikeThis=29&searchFields=Description&api-version=2024-05-01-preview
Bu örnekte istek, 29 olana benzer HotelId
otelleri arar.
HTTP GET kullanmak yerine HTTP POST kullanarak da çağırabilirsiniz MoreLikeThis
:
POST /indexes/hotels-sample-index/docs/search?api-version=2024-05-01-preview
{
"moreLikeThis": "29",
"searchFields": "Description"
}
Filtre uygula
MoreLikeThis
gibi $filter
diğer yaygın sorgu parametreleriyle birleştirilebilir. Örneğin, sorgu yalnızca kategorisi 'Bütçe' olan ve derecelendirmenin 3,5'ten yüksek olduğu otellerde kısıtlanabilir:
GET /indexes/hotels-sample-index/docs?moreLikeThis=20&searchFields=Description&$filter=(Category eq 'Budget' and Rating gt 3.5)&api-version=2024-05-01-preview
Alanları seçme ve sonuçları sınırlama
Seçici $top
, sorguda MoreLikeThis
kaç sonuç döndürülmesi gerektiğini sınırlamak için kullanılabilir. Ayrıca, ile $select
alanlar seçilebilir. Burada ilk üç otel kimlik, Ad ve Derecelendirme ile birlikte seçilir:
GET /indexes/hotels-sample-index/docs?moreLikeThis=20&searchFields=Description&$filter=(Category eq 'Budget' and Rating gt 3.5)&$top=3&$select=HotelId,HotelName,Rating&api-version=2024-05-01-preview
Sonraki adımlar
Bu alıştırma için herhangi bir REST istemcisini kullanabilirsiniz.