>  기사  >  백엔드 개발  >  PHP 및 Manticore Search를 사용하여 검색 제안 기능 개발

PHP 및 Manticore Search를 사용하여 검색 제안 기능 개발

王林
王林원래의
2023-08-05 13:41:061571검색

PHP 및 Manticore 검색을 사용하여 검색 제안 기능 개발

현대 웹사이트와 애플리케이션에서 검색 기능은 매우 중요한 구성 요소입니다. 사용자 경험을 향상시키기 위해 검색 제안 기능이 널리 사용됩니다. 검색 제안 기능은 사용자가 입력한 키워드를 기반으로 관련 검색어 제안 및 자동 완성 기능을 제공할 수 있습니다. 이 기사에서는 PHP와 Manticore 검색을 사용하여 간단한 검색 제안 기능을 개발합니다.

Manticore Search는 오픈 소스 검색 엔진 Sphinx를 기반으로 다시 작성된 버전으로, 더 높은 성능과 더 풍부한 기능을 제공합니다. 전체 텍스트 검색, 실시간 인덱싱, 위치정보 검색 등의 기능을 지원합니다. 우리는 빠르고 효율적인 검색 제안 기능을 구축하기 위해 Manticore Search를 사용할 것입니다.

먼저 서버에 Manticore Search를 설치해야 합니다. 다음 명령을 사용하여 설치할 수 있습니다.

$ sudo apt-get update
$ sudo apt-get install manticoresearch

설치가 완료된 후 검색 데이터를 저장할 인덱스를 생성해야 합니다. Manticore 검색에서 색인은 각각 하나 이상의 필드를 포함하는 문서 모음입니다. 다음 명령을 사용하여 "제안"이라는 색인을 생성할 수 있습니다:

$ mysql -P 9306
mysql> CREATE TABLE suggestions(title TEXT, suggestion BIGINT) INDEX title;
mysql> quit

다음으로, PHP를 사용하여 Manticore 검색과 상호 작용할 수 있습니다. 먼저 manticoresearch/manticoresearch 패키지를 설치해야 합니다. 설치는 Composer를 통해 완료할 수 있습니다: manticoresearch/manticoresearch包。可以通过Composer来完成安装:

$ composer require manticoresearch/manticoresearch

安装完成后,我们可以编写PHP代码来实现搜索建议功能。首先,我们需要建立与Manticore Search的连接:

<?php
require 'vendor/autoload.php';

use ManticoresearchClient;

$client = new Client();
$client->connect();

然后,我们可以编写一个函数来获取搜索建议。该函数将根据用户输入的关键词,在Manticore Search中执行搜索查询,并返回相关的搜索建议:

function getSuggestions($client, $query) {
    $params = [
        'index' => 'suggestions',
        'body' => [
            'query' => [
                'match' => [
                    'title' => [
                        'query' => $query,
                        'operator' => 'and'
                    ]
                ]
            ],
            'suggest' => [
                'suggestion' => [
                    'prefix' => $query,
                    'completion' => [
                        'field' => 'suggestion'
                    ]
                ]
            ]
        ]
    ];

    $response = $client->search($params);

    $suggestions = [];
    foreach ($response['suggest']['suggestion'][0]['options'] as $option) {
        $suggestions[] = $option['text'];
    }

    return $suggestions;
}

最后,我们可以编写一个简单的代码来测试搜索建议功能:

$query = $_GET['q'];

if ($query) {
    $suggestions = getSuggestions($client, $query);

    foreach ($suggestions as $suggestion) {
        echo $suggestion . "<br>";
    }
}

在上面的示例中,我们使用$_GET['q']来获取用户在搜索框中输入的关键词。然后,我们调用getSuggestionsrrreee

설치가 완료되면 PHP 코드를 작성하여 검색 제안 기능을 구현할 수 있습니다. 먼저 Manticore 검색에 대한 연결을 설정해야 합니다.

rrreee

그런 다음 검색 제안을 받는 함수를 작성할 수 있습니다. 이 기능은 사용자가 입력한 키워드를 기반으로 Manticore Search에서 검색 쿼리를 실행하고 관련 검색 제안을 반환합니다:

rrreee

마지막으로, 검색 제안 기능을 테스트하기 위한 간단한 코드를 작성할 수 있습니다: 🎜rrreee🎜 위의 예에서, $_GET['q']를 사용하여 사용자가 검색창에 입력한 키워드를 얻습니다. 그런 다음 getSuggestions 함수를 호출하여 관련 검색 제안을 가져와 페이지에 표시합니다. 🎜🎜요약🎜🎜PHP와 Manticore Search를 사용하여 빠르고 효율적인 검색 제안 기능을 쉽게 개발할 수 있습니다. Manticore Search는 강력한 전체 텍스트 검색 및 자동 완성 기능을 제공하여 애플리케이션 내에서 뛰어난 검색 경험을 제공할 수 있습니다. 이 기사가 Manticore 검색을 배우고 사용하여 검색 제안을 개발하는 데 도움이 되기를 바랍니다! 🎜

위 내용은 PHP 및 Manticore Search를 사용하여 검색 제안 기능 개발의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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