>백엔드 개발 >PHP 튜토리얼 >PHP 및 Manticore 검색 개발 가이드: 사용자 기본 설정 검색 기능 구축

PHP 및 Manticore 검색 개발 가이드: 사용자 기본 설정 검색 기능 구축

王林
王林원래의
2023-08-05 10:58:441083검색

PHP 및 Manticore 검색 개발 가이드: 사용자 기본 설정 검색 기능 구축

인터넷의 급속한 발전과 함께 사용자 기본 설정 검색 기능은 많은 웹사이트와 애플리케이션에서 필수 기능이 되었습니다. 보다 개인화되고 정확한 검색 결과를 제공하기 위해 개발자는 적절한 검색 엔진을 선택하고 해당 기능과 API를 합리적으로 사용해야 합니다.

이 기사에서는 PHP와 Manticore Search를 사용하여 사용자 선호도 검색 기능을 개발하는 세부 단계를 소개하고 몇 가지 코드 예제를 제공합니다.

1단계: Manticore Search 설치 및 구성
먼저 Manticore Search를 다운로드하고 설치해야 합니다. 맨티코어 검색 최신 버전 설치 패키지는 공식 홈페이지(https://manticoresearch.com/)에서 다운로드 받으실 수 있습니다. 설치 과정은 운영 체제에 따라 다를 수 있으며, 공식 문서를 따르시면 됩니다.

설치가 완료된 후 사용자 기본 설정 검색 기능을 활성화하려면 Manticore 검색을 구성해야 합니다. Manticore 검색 구성 파일을 열고 필요에 따라 다음 옵션을 설정하십시오:

searchd
{
    listen = 127.0.0.1:9306
    binlog_path = /var/lib/manticore
    pid_file = /var/run/manticore/searchd.pid
    log = /var/log/manticore/searchd.log
    query_log = /var/log/manticore/query.log

    search_logs = 1

    rt_mem_limit = 512M
}

index my_index
{
    type = rt
    rt_attr_string = name
    rt_attr_uint = age
}

위 구성에서는 "my_index"라는 라이브 인덱스를 정의하고 "name" 및 "age"라는 두 가지 속성을 지정했습니다. 필요에 따라 더 많은 속성을 추가할 수 있습니다.

2단계: 인덱싱
사용자 선호도 검색 기능 구축을 시작하기 전에 먼저 데이터를 인덱싱해야 합니다. 사용자의 이름과 나이가 포함된 사용자 테이블이 있다고 가정해 보겠습니다.

먼저 Manticore Search에 연결하고 데이터를 준비하기 위한 PHP 스크립트를 만들어야 합니다.

<?php
require_once('vendor/autoload.php');

use FoolzSphinxQLDriversMultiResultSet;
use FoolzSphinxQLDriversPdoConnection;
use FoolzSphinxQLHelper;
use FoolzSphinxQLSphinxQL;

$connection = new Connection();
$connection->setParams(['host' => '127.0.0.1', 'port' => 9306]);

위 코드에서는 타사 라이브러리 "SphinxQL"을 사용하여 Manticore Search에 연결했습니다. Composer를 통해 라이브러리를 설치했는지 확인하세요.

다음으로 SphinxQL을 사용하여 인덱스를 생성하고 인덱스에 데이터를 추가할 수 있습니다.

<?php
// continue from previous code ...
$index = 'my_index';
$engine = new SphinxQL($connection);
$engine->setConnection($connection);
$engine->query("TRUNCATE RTINDEX $index")->execute();
$engine->query("REPLACE INTO $index (name, age) VALUES ('Alice', 25), ('Bob', 30), ('Charlie', 35)")->execute();

위 코드에서는 먼저 인덱스 데이터를 지운 다음 일부 샘플 데이터를 인덱스에 추가했습니다.

3단계: 사용자 선호도 검색 기능 구축
이제 인덱스 구축이 성공적으로 완료되어 사용자 선호도 검색 기능 구축을 시작할 준비가 되었습니다. 우리의 목표가 사용자 선호도에 따라 연령을 필터링하는 것이라고 가정해 보겠습니다.

먼저 PHP로 함수를 작성해야 합니다. 이 함수는 사용자의 기본 설정 매개변수를 수신하고 다음 매개변수를 기반으로 SphinxQL 쿼리 문을 구성합니다.

<?php
// continue from previous code ...
function buildUserPreferenceQuery($preferences) {
    $index = 'my_index';
    $engine = new SphinxQL($connection);
    $engine->setConnection($connection);

    $query = $engine->query("SELECT * FROM $index");
    
    foreach($preferences as $key => $value) {
        if($key == 'min_age') {
            $query->where('age', '>=', $value);
        } elseif($key == 'max_age') {
            $query->where('age', '<=', $value);
        }
    }
    
    return $query->execute();
}

위 코드에서는 사용자의 기본 설정 매개변수를 반복하고 각 매개변수를 기반으로 쿼리 문을 구성합니다. 여기서는 >= 및 <= 연산자를 사용하여 범위 쿼리를 수행합니다.

마지막으로 이 함수를 호출하여 검색 결과를 인쇄할 수 있습니다.

<?php
// continue from previous code ...
$preferences = [
    'min_age' => 25,
    'max_age' => 35
];

$result = buildUserPreferenceQuery($preferences);

foreach($result as $row) {
    echo "Name: " . $row['name'] . ", Age: " . $row['age'] . "
";
}

위 코드에서는 최소 연령 및 최대 연령 매개변수가 포함된 가상 사용자 기본 설정을 구성하고 검색 기준과 일치하는 결과를 인쇄합니다. .

위의 과정을 통해 PHP와 Manticore Search를 이용하여 사용자 선호도 검색 기능을 성공적으로 구축했습니다. 필요에 맞게 확장하고 수정할 수 있습니다. 행복한 개발!

위 내용은 PHP 및 Manticore 검색 개발 가이드: 사용자 기본 설정 검색 기능 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.