Gunakan PHP dan coreseek untuk mencapai fungsi carian resipi yang tepat
Ikhtisar:
Dalam kehidupan yang serba pantas hari ini, semakin ramai orang mula memberi perhatian kepada kesihatan pemakanan mereka. Mencari resipi yang betul menjadi satu keperluan. Artikel ini akan memperkenalkan cara menggunakan PHP dan enjin carian coreseek untuk melaksanakan fungsi carian resipi yang tepat untuk membantu pengguna mencari resipi yang memenuhi keperluan mereka dengan mudah.
Persediaan:
Sebelum kita mula, kita perlu menyediakan beberapa alatan:
Idea teras:
Langkah 1: Sediakan data resipi dan importnya ke dalam pangkalan data MySQL
Pertama, kita perlu mencipta pangkalan data untuk menyimpan data resipi. Anda boleh menggunakan alat seperti phpMyAdmin atau terus melaksanakan pernyataan SQL yang sepadan pada baris arahan untuk menciptanya.
Pernyataan SQL untuk mencipta pangkalan data dan jadual adalah seperti berikut:
BUAT PANGKALAN DATA JIKA TIDAK WUJUD resipi;
GUNAKAN resipi;
BUAT JADUAL JIKA TIDAK WUJUD resipi (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, ingredients TEXT NOT NULL, directions TEXT NOT NULL
);
Skrip kita boleh tulis seterusnya untuk membaca data resipi tempatan dan mengimportnya ke dalam pangkalan data. Katakan data resipi kami disimpan dalam fail teks yang dipanggil "recipes.txt" dengan format berikut:
Tajuk 1
Bahan 1, Bahan 2, Bahan 3
Langkah 1, Langkah 2, Langkah 3
Tajuk 2
4, Bahan 5, Bahan 6
Langkah 4, Langkah 5, Langkah 6
Kod skrip PHP adalah seperti berikut:
// Buka fail
$handle = fopen('recipes.txt ', 'r');
if ($handle) {
$title = ''; $ingredients = ''; $directions = ''; while (($line = fgets($handle)) !== false) { $line = trim($line); if ($line != '') { if ($title == '') { $title = $line; } elseif ($ingredients == '') { $ingredients = $line; } elseif ($directions == '') { $directions = $line; } if ($title != '' && $ingredients != '' && $directions != '') { // 将食谱数据插入数据库 $sql = "INSERT INTO recipes (title, ingredients, directions) VALUES ('" . $title . "', '" . $ingredients . "', '" . $directions . "')"; // 执行SQL语句 // ... // 重置数据 $title = ''; $ingredients = ''; $directions = ''; } } } fclose($handle);
}
?>
Dalam kod di atas, kami membuka fail bernama "recipes.txt" dan membaca kandungannya baris demi baris. Bezakan tajuk, ramuan dan langkah resipi yang berbeza dengan menggunakan garisan kosong. Selepas setiap resipi lengkap dibaca, kami memasukkannya ke dalam pangkalan data.
Langkah 2: Konfigurasikan dan mulakan enjin carian Coreseek
Mula-mula, nyahzip pakej mampat coreseek yang dimuat turun ke direktori yang ditentukan. Masukkan direktori Coreseek, edit fail konfigurasi "sphinx.conf", dan konfigurasikan kandungan berikut:
source recipe
{
type = mysql sql_host = localhost sql_user = root sql_pass = your_password sql_db = recipe sql_port = 3306 sql_query = SELECT id, title, ingredients, directions FROM recipes
}
index recipe
{
source = recipe path = /path/to/index/recipe docinfo = extern min_word_len = 1 charset_type = utf-8
}
researchd
}
// Dapatkan kata kunci yang dimasukkan oleh pengguna
$sql = "PILIH * DARI resipi DI MANA PADAN('".$ kata kunci. "')";
// Laksanakan pernyataan SQL
// ...
// ...
// ...
Artikel ini memperkenalkan cara menggunakan PHP dan enjin carian coreseek untuk mencapai fungsi carian resipi yang tepat. Dengan menyediakan data resipi, mengkonfigurasi dan memulakan enjin carian Coreseek, dan menulis kod PHP yang berkaitan, kami boleh dengan mudah melaksanakan fungsi carian resipi yang berkuasa untuk membantu pengguna mencari resipi yang memenuhi keperluan mereka dengan cepat. Pada masa yang sama, anda juga boleh mengembangkan dan mengoptimumkan kod mengikut keperluan anda sendiri untuk mencapai pengalaman pengguna yang lebih baik.
Atas ialah kandungan terperinci Gunakan PHP dan coreseek untuk melaksanakan fungsi carian resipi yang tepat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!