PHP와 coreseek를 결합하여 효율적인 영화 검색 엔진을 개발합니다
소개: 영화 검색 엔진은 오늘날 인터넷 시대에 사용자에게 빠르고 정확한 검색 결과를 제공하는 중요한 역할을 합니다. 이 기사에서는 PHP와 coreseek를 사용하여 효율적인 영화 검색 엔진을 개발하는 방법을 소개합니다.
1. 코어시크란?
Coreseek는 Sphinx 검색 엔진을 기반으로 사용자 정의되고 최적화된 오픈 소스 전체 텍스트 검색 엔진 도구입니다. 스핑크스 검색 엔진은 빠르고 효율적인 전체 텍스트 검색 엔진으로 다양한 분야에서 널리 사용됩니다.
2. PHP와 coreseek를 선택하는 이유는 무엇입니까?
PHP는 배우기 쉽고 강력한 프로그래밍 언어로 웹 개발 분야에서 널리 사용됩니다. 효율적인 전체 텍스트 검색 엔진 도구인 coreseek를 PHP와 함께 사용하면 효율적인 검색 엔진을 빠르게 구축할 수 있습니다.
3. 영화 검색 엔진 구축 단계
/usr/local/coreseek/etc/
디렉터리에 있습니다. /usr/local/coreseek/etc/
目录下。CREATE DATABASE IF NOT EXISTS `movie_search`; USE `movie_search`; CREATE TABLE IF NOT EXISTS `movies` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `title` VARCHAR(255) NOT NULL, `director` VARCHAR(255) NOT NULL, `release_date` DATE NOT NULL, `rating` DECIMAL(3,1) NOT NULL, `description` TEXT NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `movies` (`title`, `director`, `release_date`, `rating`, `description`) VALUES ('The Shawshank Redemption', 'Frank Darabont', '1994-10-14', 9.3, 'The Shawshank Redemption is a 1994 American drama film.'), ('The Godfather', 'Francis Ford Coppola', '1972-03-24', 9.2, 'The Godfather is a 1972 American crime film.'), ('Pulp Fiction', 'Quentin Tarantino', '1994-05-21', 8.9, 'Pulp Fiction is a 1994 American crime film.');
sphinx.conf
,进行必要的配置,以适应我们的电影搜索引擎需求。修改配置项的示例代码如下:source movies { type = mysql sql_host = localhost sql_user = your_mysql_username sql_pass = your_mysql_password sql_db = movie_search sql_sock = /var/run/mysqld/mysqld.sock sql_query = SELECT id, title, director, release_date, rating, description FROM movies } index movies { source = movies path = /usr/local/coreseek/data/movie_search docinfo = extern mlock = 1 mlock_retry = 5 morphology = stem_en, soundex_en min_word_len = 3 } searchd { listen = 9312 listen = 9306:mysql41 log = /var/log/coreseek/searchd.log query_log = /var/log/coreseek/query.log read_timeout = 5 max_children = 30 pid_file = /usr/local/coreseek/var/searchd.pid seamless_rotate = 1 preopen_indexes = 0 unlink_old = 1 workers = threads binlog_path = }
search.php
的文件,将以下代码复制并粘贴其中:<?php require_once('sphinxapi.php'); $sphinx = new SphinxClient(); $sphinx->SetServer('localhost', 9312); $sphinx->SetMatchMode(SPH_MATCH_ALL); $query = isset($_GET['q']) ? $_GET['q'] : ''; $result = $sphinx->Query($query, 'movies'); if ($result === false) { echo "Error: " . $sphinx->GetLastError(); } else { if ($sphinx->GetTotalFound() > 0) { echo "Search results for: " . $query . "<br>"; foreach ($result['matches'] as $match) { echo "<div>"; echo "Title: " . $match['attrs']['title'] . "<br>"; echo "Director: " . $match['attrs']['director'] . "<br>"; echo "Release Date: " . $match['attrs']['release_date'] . "<br>"; echo "Rating: " . $match['attrs']['rating'] . "<br>"; echo "Description: " . $match['attrs']['description'] . "<br>"; echo "</div>"; } } else { echo "No results found for: " . $query; } } ?>
search.php
,通过URL参数q
传递搜索关键词即可进行搜索。例如:http://localhost/search.php?q=The Shawshank Redemption
영화 데이터 가져오기
영화 데이터를 영화 테이블로 가져오려면 INSERT 문을 사용하여 데이터를 하나씩 삽입할 수 있습니다. , 또는 일괄 삽입 방식을 통해 대량의 데이터를 가져올 수 있습니다. 다음은 영화 데이터를 삽입하는 샘플 SQL 코드입니다:
sphinx.conf
를 열고 영화에 맞게 필요한 구성을 만듭니다. 검색 엔진이 필요합니다. 구성 항목을 수정하기 위한 샘플 코드는 다음과 같습니다. 🎜🎜rrreeesearch.php
라는 파일을 만들고 다음 코드를 복사하여 파일에 붙여넣으세요. 🎜🎜rrreee를 방문하세요. search.php
, URL 매개변수 q
를 통해 검색 키워드를 전달하여 검색합니다. 예: http://localhost/search.php?q=쇼생크 탈출
. 🎜🎜🎜위 단계를 통해 우리는 PHP와 coreseek 기반의 영화 검색 엔진을 성공적으로 구축했습니다. 더 많은 검색 조건 추가, 정렬 기능 증가 등 필요에 따라 이 검색 엔진을 확장하고 최적화할 수 있습니다. 🎜🎜결론: 🎜이 기사에서는 PHP와 coreseek를 사용하여 효율적인 영화 검색 엔진을 개발하는 방법을 소개했습니다. Coreseek를 전체 텍스트 검색 엔진 도구로 사용하고 PHP 프로그래밍 언어와 결합하여 강력한 검색 엔진을 빠르게 구축할 수 있습니다. 이 기사가 영화 검색 엔진을 개발하는 데 도움이 되기를 바랍니다. 🎜위 내용은 PHP와 coreseek를 결합하여 효율적인 영화 검색 엔진 개발의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!