Rumah > Artikel > pembangunan bahagian belakang > Membina alat carian kandungan media sosial berdasarkan PHP dan coreseek
Bina alat carian kandungan media sosial berdasarkan PHP dan coreseek
Dengan perkembangan media sosial, orang ramai semakin bergantung pada platform sosial untuk mendapatkan maklumat dan berkomunikasi. Walau bagaimanapun, apabila kandungan media sosial terus meningkat, cara mencari maklumat yang diperlukan dengan cepat dan tepat telah menjadi sangat penting. Artikel ini akan memperkenalkan cara menggunakan PHP dan coreseek untuk membina alat carian kandungan media sosial yang cekap, dan menyediakan contoh kod yang sepadan.
CREATE DATABASE social_media;
Kemudian, buat jadual bernama "kandungan" untuk menyimpan kandungan media sosial kami dan indeks yang sepadan. Gunakan kod berikut untuk mencipta jadual:
USE social_media; CREATE TABLE content ( id INT(11) PRIMARY KEY AUTO_INCREMENT, title VARCHAR(255) NOT NULL, content TEXT NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
source social_media { type = mysql sql_host = localhost sql_user = <MySQL用户名> sql_pass = <MySQL密码> sql_db = social_media sql_port = 3306 # MySQL端口号 sql_query = SELECT id, title, content FROM content } index social_media_index { type = plain source = social_media path = <索引文件存储路径> } searchd { listen = 9312 log = <日志文件路径> query_log = <查询日志文件路径> read_timeout = 5 max_children = 30 pid_file = <PID文件路径> seamless_rotate = 1 }
Perhatikan bahawa "ccf6a2c5492c845b02a19ae99f71aae6", "14c450ca01dcaa66c2d68912748c74aa", "f2e243ee98d50bd5c50d7207961b67d2", "2fe1dabf9ea768a103a3ea69f1aaf046", "d3e1974b948440d9216a810dcc0fb29a" dan "b18374c93e25e436c8ca9976285b8da2" digantikan dengan nilai sebenar yang sepadan.
<?php // 包含SphinxAPI扩展 require_once('path/to/sphinxapi.php'); // 配置搜索引擎连接参数 $host = 'localhost'; $port = 9312; $index = 'social_media_index'; // 创建SphinxClient对象 $sphinx = new SphinxClient(); $sphinx->setServer($host, $port); $sphinx->setConnectTimeout(1); $sphinx->setArrayResult(true);
Seterusnya, kita boleh menulis fungsi untuk melaksanakan operasi carian:
function searchContent($keyword) { global $sphinx, $index; // 设置搜索关键字 $sphinx->setMatchMode(SPH_MATCH_EXTENDED); $sphinx->setLimits(0, 10); // 设置搜索结果数量 // 执行搜索 $result = $sphinx->query($keyword, $index); // 处理搜索结果 if ($result['total_found'] > 0) { echo "Found " . $result['total_found'] . " results: "; foreach ($result['matches'] as $match) { $id = $match['id']; // 根据ID查询详细内容 // ... } } else { echo "No results found. "; } }
Kemudian, kita boleh memanggil fungsi ini untuk melaksanakan operasi carian:
$searchKeyword = 'social media'; // 搜索关键字 searchContent($searchKeyword);
Anda boleh mencari untuk kata kunci mengikut keperluan sebenar penghantaran dan pemprosesan hasil carian.
function getContentDetail($id) { // 查询社交媒体内容详细信息 // ... }
Panggil fungsi ini dalam fungsi kandungan carian untuk mendapatkan kandungan terperinci:
foreach ($result['matches'] as $match) { $id = $match['id']; // 查询详细内容 $detail = getContentDetail($id); if ($detail) { echo "Title: " . $detail['title'] . " "; echo "Content: " . $detail['content'] . " "; } }
Letakkan kod yang memanggil butiran pertanyaan dalam gelung paparan hasil carian ke memaparkan maklumat kandungan media sosial yang berkaitan.
Atas ialah kandungan terperinci Membina alat carian kandungan media sosial berdasarkan PHP dan coreseek. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!