Cara menggunakan Elasticsearch untuk melaksanakan sistem pengesyoran
Dalam era ledakan maklumat hari ini, sistem pengesyoran telah menjadi alat penting untuk membantu pengguna mencari maklumat yang mereka perlukan dengan cepat dan tepat. Sebagai sumber terbuka, enjin carian berprestasi tinggi, Elasticsearch menyediakan carian teks penuh yang berkuasa dan fungsi analisis data, dan boleh menyokong pelaksanaan sistem pengesyoran. Artikel ini akan memperkenalkan cara menggunakan Elasticsearch untuk membina sistem pengesyoran mudah dan memberikan contoh kod.
Pertama, kita perlu menyediakan data. Sistem pengesyoran biasanya membuat pengesyoran berdasarkan gelagat sejarah pengguna, jadi kami perlu mengumpulkan data gelagat pengguna, seperti rekod klik, rekod pembelian, dsb. Andaikan bahawa data yang kami kumpulkan mengandungi medan berikut: ID pengguna, ID produk, jenis tingkah laku.
Kita boleh menggunakan model dokumen Elasticsearch untuk menyimpan setiap rekod tingkah laku sebagai dokumen. Berikut ialah struktur contoh dokumen:
{
"user_id": 123,
"item_id": 456,
"action": "click"
}
Seterusnya Indeks untuk menyimpan data. Dalam Elasticsearch, indeks boleh dianggap sebagai pangkalan data yang digunakan untuk menyimpan dan menyusun data dokumen.
Buat indeks dengan mudah menggunakan API REST Elasticsearch. Berikut ialah contoh kod untuk membuat indeks:
LETAKAN /pengerjaan
{
"pemetaan": {
"properties": { "user_id": { "type": "integer" }, "item_id": { "type": "integer" }, "action": { "type": "text" } }
}
}
Kami boleh menggunakan API Elasticsearch dalam jumlah besar import sekali. Berikut ialah contoh kod:
POST /recommendations/_bulk
{ "index": { "_index": "recommendations", "_id": "1" }}
{ "user_id": 123, "item_id": 456 , "action": "click" }
{ "index": { "_index": "recommendations", "_id": "2" }}
{ "user_id": 123, "item_id": 789, "action" : "beli" }
...
Apabila mengimport data, anda boleh menetapkan berat yang berbeza mengikut keperluan perniagaan tertentu. Sebagai contoh, berat yang lebih tinggi boleh ditetapkan untuk rekod pembelian supaya mereka diberi lebih berat dalam proses pengesyoran.
Dalam sistem pengesyoran, pertanyaan ialah pautan penting. Kami boleh menggunakan fungsi pertanyaan Elasticsearch untuk mendapatkan hasil yang disyorkan berdasarkan gelagat sejarah pengguna.
Mengambil mengesyorkan produk yang berkaitan dengan pengguna 123 sebagai contoh, kami boleh menggunakan API pertanyaan Elasticsearch untuk membuat pengesyoran masa nyata. Berikut ialah contoh kod:
GET /recommendations/_search
{
"query": {
"bool": { "must": [ { "term": { "user_id": 123 } } ] }
},
"size": 10
}
Kod di atas akan mengembalikan 10 keputusan pengesyoran teratas yang berkaitan dengan pengguna 123 .
Akhir sekali, kami memaparkan hasilnya kepada pengguna. Mengikut keperluan perniagaan tertentu, hasil yang disyorkan boleh dipaparkan menggunakan halaman web, apl, dsb.
Berikut ialah contoh kod untuk memaparkan keputusan yang disyorkan pada halaman web:
<title>推荐结果</title>
rrtree;
Ringkasan
Artikel ini memperkenalkan cara menggunakan Elasticsearch untuk melaksanakan sistem pengesyoran mudah. Dengan mengumpul data sejarah tingkah laku pengguna, mencipta indeks, mengimport data, bertanya dan mengesyorkan serta memaparkan hasil kepada pengguna, kami boleh membina sistem pengesyoran berdasarkan Elasticsearch dengan mudah. Harap artikel ini membantu anda!
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan sistem pengesyoran menggunakan Elasticsearch. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!