RiSearch PHP melaksanakan kedudukan carian dan pengesyoran diperibadikan pengguna, yang memerlukan contoh kod khusus
Dengan perkembangan Internet dan pertumbuhan data yang pesat, keperluan peribadi pengguna menjadi semakin penting. Pengguna berharap untuk mendapatkan kandungan dalam hasil carian yang lebih sesuai dengan minat dan pilihan mereka, tetapi enjin carian tradisional selalunya hanya boleh menyediakan hasil carian berasaskan kata kunci dan tidak dapat memenuhi keperluan peribadi pengguna. Untuk menyelesaikan masalah ini, kami boleh menggunakan RISEARCH PHP untuk mencapai kedudukan carian dan pengesyoran diperibadikan pengguna.
RISEARCH ialah kit alat enjin carian teks penuh yang berkuasa berdasarkan Redis. Redis ialah sumber terbuka, pangkalan data dalam memori berprestasi tinggi dengan ciri seperti membaca dan menulis pantas, ketekunan data dan sokongan untuk jenis data yang kompleks. RISEARCH memanfaatkan ciri Redis ini untuk melaksanakan fungsi carian teks penuh yang cekap dan fleksibel.
Yang berikut akan memperkenalkan cara menggunakan RISEARCH PHP untuk mencapai kedudukan carian dan pengesyoran peribadi pengguna. Pertama, kita perlu memasang sambungan Redis dan RISEARCH. Pemasangan dan konfigurasi boleh dilakukan melalui laman web rasmi http://redis.io/ dan https://github.com/RediSearch/RediSearch-Go/blob/master/README.md.
Selepas pemasangan selesai, kami mula-mula mencipta objek sambungan Redis dan objek indeks RISEARCH:
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); $index = new RiSearchIndex($redis, 'my_index');
Seterusnya, kami perlu menentukan medan dan berat indeks
Tambah dalam indeks Apabila memasukkan dokumen, kita boleh menetapkan atribut dan nilai dokumen, seperti ID pengguna, kata kunci, dll.:$index->field('title', 2.0, true); $index->field('content', 1.0, false);
$document = new RiSearchDocument('doc1'); $document->setProperty('user_id', '123'); $document->setProperty('keywords', 'PHP, RiSearch'); $document->addField('title', 'RISEARCH PHP'); $document->addField('content', 'RISEARCH 是一个强大的全文搜索引擎工具包。');
$index->add($document);
$query = new RiSearchQuery(); $query->setQueryString('RISEARCH PHP');
$query->setScorer(function($docId, $docProperties, $score) { $userId = $docProperties['user_id']; $keywords = $docProperties['keywords']; // 根据用户ID和关键词调整权重 if ($userId == '123') { $score *= 2; } return $score; });
$results = $index->search($query);
$clusterIndex = new RiSearchClusterIndex($redis, 'cluster_index');
$clusterIndex->add($document);
$clusterIndex->cluster(3);
Atas ialah kandungan terperinci RiSearch PHP melaksanakan kedudukan carian dan pengesyoran peribadi pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!