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.