moreLikeThis (pratinjau) di Azure AI Search
Penting
Fitur ini berada di pratinjau publik dalam Ketentuan Penggunaan Tambahan. REST API pratinjau mendukung fitur ini.
moreLikeThis=[key]
adalah parameter kueri di API Pencarian Dokumen yang mencari dokumen yang mirip dengan yang ditentukan oleh kunci dokumen. Saat permintaan pencarian dibuat dengan moreLikeThis
, kueri dihasilkan dengan istilah pencarian yang diekstrak dari dokumen tertentu yang paling mendeskripsikan dokumen tersebut. Kueri yang dihasilkan lalu digunakan untuk membuat permintaan pencarian. Parameter moreLikeThis
tidak dapat digunakan dengan parameter pencarian, search=[string]
.
Secara default, konten semua bidang tingkat tinggi yang dapat dicari akan dipertimbangkan. Jika Anda ingin menentukan bidang tertentu, Anda dapat menggunakan parameter searchFields
.
Parameter moreLikeThis
tidak didukung untuk jenis kompleks dan keberadaan jenis kompleks akan memengaruhi logika kueri Anda. Jika indeks Anda adalah jenis kompleks, Anda harus mengatur searchFields
ke bidang yang dapat dicari tingkat atas yang moreLikeThis
berulang. Misalnya, jika indeks memiliki jenis yang dapat field1
dicari , dan field2
itu adalah jenis kompleks dengan sub-bidang yang dapat dicari, nilai searchFields
harus diatur ke field1
untuk mengecualikan field2
.Edm.String
Contoh
Semua contoh berikut menggunakan sampel hotel dari Mulai Cepat: Membuat indeks pencarian di portal Microsoft Azure.
Kueri sederhana
Kueri berikut ini menemukan dokumen yang bidang deskripsinya paling mirip dengan bidang dokumen sumber sebagaimana ditentukan oleh parameter moreLikeThis
:
GET /indexes/hotels-sample-index/docs?moreLikeThis=29&searchFields=Description&api-version=2020-06-30-Preview
Dalam contoh ini, permintaan akan mencari hotel yang mirip dengan yang dengan HotelId
29.
Daripada menggunakan HTTP GET, Anda juga dapat memanggil MoreLikeThis
menggunakan HTTP POST:
POST /indexes/hotels-sample-index/docs/search?api-version=2020-06-30-Preview
{
"moreLikeThis": "29",
"searchFields": "Description"
}
Terapkan filter
MoreLikeThis
dapat digabungkan dengan parameter kueri umum lainnya seperti $filter
. Misalnya, kueri dapat dibatasi hanya untuk hotel yang kategorinya berupa 'Budget' dan peringkatnya lebih tinggi dari 3,5:
GET /indexes/hotels-sample-index/docs?moreLikeThis=20&searchFields=Description&$filter=(Category eq 'Budget' and Rating gt 3.5)&api-version=2020-06-30-Preview
Memilih bidang dan membatasi hasil
Pemilih $top
dapat digunakan untuk membatasi jumlah hasil yang harus dikembalikan dalam kueri MoreLikeThis
. Selain itu, bidang dapat dipilih dengan $select
. Di sini, tiga hotel teratas dipilih bersama dengan ID, Nama, dan Peringkat ketiganya:
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=2020-06-30-Preview
Langkah berikutnya
Anda dapat menggunakan klien REST apa pun untuk latihan ini.