Aracılığıyla paylaş


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 moreLikeThisbir 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 $filterdiğ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 $selectalanlar 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.