ホームページ バックエンド開発 PHPチュートリアル PHPとcoreseekを利用して正確なレシピ検索機能を実装

PHPとcoreseekを利用して正確なレシピ検索機能を実装

Aug 05, 2023 pm 01:16 PM
php coreseek レシピ検索

PHP と coreseek を使用して正確なレシピ検索機能を実現

概要:
今日のペースの速い生活の中で、ますます多くの人が食事の健康に注意を払い始めています。適切なレシピを見つけることが必要になります。この記事では、PHP と coreseek 検索エンジンを使用して、ユーザーがニーズに合ったレシピを簡単に見つけられる正確なレシピ検索機能を実装する方法を紹介します。

準備作業:
始める前に、いくつかのツールを準備する必要があります:

  1. PHP 環境: PH​​P スクリプトが確実に実行されるように、ローカルまたはサーバー上に PHP 環境をセットアップします。実行することができます。
  2. MySQL データベース: レシピ データの保存に使用されます。
  3. Coreseek 検索エンジン: Sphinx に基づく全文検索エンジン。最新バージョンは公式Webサイトからダウンロードできます。

中心的なアイデア:

  1. レシピ データを準備し、MySQL データベースにインポートします。
  2. Coreseek 検索エンジンを設定して開始します。
  3. PHP を使用して検索関数コードを記述し、ユーザー入力と検索結果の表示を実現します。

ステップ 1: レシピ データを準備し、MySQL データベースにインポートします

まず、レシピ データを保存するデータベースを作成する必要があります。 phpMyAdmin などのツールを使用するか、コマンド ラインで対応する SQL ステートメントを直接実行して作成できます。

データベースとテーブルを作成する SQL ステートメントは次のとおりです:

CREATE DATABASE IF NOT EXISTS レシピ;
USE レシピ;
CREATE TABLE IF NOT EXISTS レシピ (

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
ingredients TEXT NOT NULL,
directions TEXT NOT NULL
ログイン後にコピー

);

次に、PHP スクリプトを作成してローカル レシピ データを読み取り、データベースにインポートします。レシピ データが次の形式で「recipes.txt」というテキスト ファイルに保存されているとします。

タイトル 1
材料 1、材料 2、材料 3
ステップ 1 、ステップ 2、ステップ3

タイトル 2
材料 4、材料 5、材料 6
ステップ 4、ステップ 5、ステップ 6

PHP スクリプト コードは次のとおりです。

//ファイルを開く
$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);
ログイン後にコピー

}
?>

上記のコードでは、「recipes.txt」という名前のファイルを開き、内容を 1 行ずつ読み取ります。空白行を使用して、さまざまなレシピのタイトル、材料、手順を区別します。完全なレシピをそれぞれ読み取った後、それをデータベースに挿入します。

ステップ 2: Coreseek 検索エンジンの設定と開始

まず、ダウンロードした coreseek 圧縮パッケージを指定したディレクトリに解凍します。 Coreseek ディレクトリに入り、設定ファイル「sphinx.conf」を編集し、次の内容を設定します:

ソースレシピ
{

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
ログイン後にコピー

}

インデックスレシピ
{

source = recipe
path = /path/to/index/recipe
docinfo = extern
min_word_len = 1
charset_type = utf-8
ログイン後にコピー

}

searchd
{

listen = 9312
log = /path/to/searchd.log
query_log = /path/to/query.log
max_matches = 1000
ログイン後にコピー

}

上記の構成では、「recipe」という名前のデータ ソースを定義しました。 、レシピデータの取得には MySQL データベースが使用されました。次に、「recipe」という名前のインデックスが作成され、関連するパスと構成が設定されました。

設定ファイルを保存して終了した後、次のコマンドを使用して Coreseek 検索エンジンを開始します:

/path/to/coreseek/bin/searchd --config /path/to/coreseek /etc/ sphinx.conf

ステップ 3: PHP を使用して検索関数のコードを作成する

ここで、PHP を使用して検索関数のコードを作成できます。 Web ページに、ユーザーが検索するキーワードを入力できる検索フォームがあるとします。

HTML コードは次のとおりです:

<input type="text" name="keyword" placeholder="请输入关键词">
<input type="submit" value="搜索">
ログイン後にコピー

PHP スクリプト コードは次のとおりです (search.php):

// ユーザーが入力したキーワードを取得します
$keyword = $_GET['keyword '];

//データベースのクエリ
$sql = "SELECT * FROM Recipe WHERE MATCH('".$keyword."')";
//SQL ステートメントの実行
/ / .. .

// クエリ結果を解析する
// ...

// 検索結果を表示する
// ...

?> ;

上記のコードでは、まずユーザーが入力したキーワードを取得し、それを変数 $keyword に保存します。次に、MATCH キーワードを使用してデータベースにクエリを実行し、キーワードに一致するレシピ データを取得します。特定のデータベース クエリと結果解析コードはここでは省略されていますが、独自のニーズに応じて実装できます。

最後に、検索結果ページでは、ループ ステートメントを使用してクエリされたデータを走査し、それをリストまたはカードの形式でユーザーに表示するなど、特定のニーズに応じて検索結果を表示できます。

概要:
この記事では、PHP と coreseek 検索エンジンを使用して正確なレシピ検索機能を実現する方法を紹介します。レシピ データを準備し、Coreseek 検索エンジンを設定して起動し、関連する PHP コードを記述することで、強力なレシピ検索機能を簡単に実装でき、ユーザーがニーズに合ったレシピをすばやく見つけることができます。同時に、独自のニーズに応じてコードを拡張および最適化して、より良いユーザー エクスペリエンスを実現することもできます。

以上がPHPとcoreseekを利用して正確なレシピ検索機能を実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

CakePHP のロギング CakePHP のロギング Sep 10, 2024 pm 05:26 PM

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

See all articles