제품 검색 및 추천을 위해 Elasticsearch와 PHP를 사용하는 방법

王林
풀어 주다: 2023-07-09 15:10:02
원래의
1606명이 탐색했습니다.

상품 검색 및 추천을 위해 Elasticsearch와 PHP를 사용하는 방법

소개:
오늘날 전자상거래 분야에서 좋은 검색 및 추천 시스템은 사용자에게 매우 중요합니다. Elasticsearch는 강력하고 유연한 오픈 소스 검색 엔진으로, 백엔드 개발 언어인 PHP와 결합되어 전자상거래 웹사이트에 효율적인 제품 검색 및 개인화된 추천 기능을 제공할 수 있습니다. 이 기사에서는 Elasticsearch와 PHP를 사용하여 상품 검색 및 추천 기능을 구현하는 방법을 소개하고 해당 코드 예제를 첨부합니다.

1. Elasticsearch 설치 및 구성
먼저 Elasticsearch를 설치하고 구성해야 합니다. Elasticsearch 공식 웹사이트에서 최신 버전을 다운로드하고 공식 문서에 따라 설치 및 구성할 수 있습니다. 구성이 완료되면 "http://localhost:9200"에 접속하여 Elasticsearch가 성공적으로 시작되었는지 확인할 수 있습니다.

2. 상품 데이터 가져오기
상품을 검색하고 추천하려면 먼저 일부 상품 데이터를 Elasticsearch로 가져와야 합니다. Elasticsearch의 RESTful API를 사용하여 데이터 가져오기를 수행할 수 있습니다. 다음은 제품 데이터를 Elasticsearch로 가져오기 위해 PHP를 사용하여 POST 요청을 보내는 샘플 코드입니다.

<?php
$ch = curl_init();

$data = array(
    'title' => 'iPhone 12',
    'description' => 'The latest iPhone model',
    'price' => 999,
    'category' => 'Electronics',
);

$url = 'http://localhost:9200/products/_doc/1';
$json_data = json_encode($data);

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);

$response = curl_exec($ch);

curl_close($ch);

echo $response;
?>
로그인 후 복사

위 코드는 제품 데이터를 Elasticsearch의 "제품" 인덱스로 가져옵니다. 더 많은 제품 데이터를 가져오기 위해 필요에 따라 $data 배열의 필드를 수정할 수 있습니다.

3. 상품 검색
다음으로 상품 검색에 Elasticsearch를 활용하는 방법을 소개하겠습니다. 다음은 제품 제목과 설명에서 일치하는 검색을 수행하는 간단한 PHP 코드 예입니다.

<?php
$ch = curl_init();

$query = array(
    'query' => array(
        'match' => array(
            'title' => 'iPhone'
        )
    )
);

$url = 'http://localhost:9200/products/_search';
$json_query = json_encode($query);

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_query);

$response = curl_exec($ch);

curl_close($ch);

echo $response;
?>
로그인 후 복사

위 코드는 Elasticsearch의 "_search" API를 통해 제목에 "iPhone"이 포함된 제품에 대해 "products" 인덱스를 검색합니다. 보다 복잡한 제품 검색 기능을 구현하기 위해 필요에 따라 $query 배열의 필드와 쿼리 조건을 수정할 수 있습니다.

4. 맞춤 추천
상품 검색 기능 외에도 맞춤 추천도 중요한 기능입니다. 다음은 사용자의 구매 내역 및 검색 행동을 기반으로 제품 추천을 위한 간단한 PHP 코드 예입니다.

<?php
$ch = curl_init();

$query = array(
    'query' => array(
        'more_like_this' => array(
            'fields' => array('title', 'description'),
            'like' => array(
                array(
                    '_index' => 'products',
                    '_id' => '1'
                )
            ),
            'min_term_freq' => 1,
        )
    )
);

$url = 'http://localhost:9200/products/_search';
$json_query = json_encode($query);

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_query);

$response = curl_exec($ch);

curl_close($ch);

echo $response;
?>
로그인 후 복사

위 코드는 제품 ID 1의 제품을 기반으로 하고 Elasticsearch의 "more_like_this" API 제목을 통해 제품을 기반으로 추천합니다. 유사한 제품을 찾기 위한 설명 및 설명. 필요에 따라 $like 배열의 제품 ID를 수정하여 다양한 제품을 기반으로 권장 사항을 구현할 수 있습니다.

요약:
이 글에서는 Elasticsearch와 PHP를 사용하여 상품 검색 및 추천 기능을 구현하는 방법을 소개하고 해당 코드 예제를 제공합니다. 실제 응용에서는 필터링 조건, 정렬 규칙 등을 추가하는 등 필요에 따라 기능을 확장하고 최적화할 수 있습니다. Elasticsearch와 PHP의 장점을 최대한 활용함으로써 전자상거래 웹사이트에 더 나은 사용자 경험을 제공하고 매출을 늘릴 수 있습니다.

위 내용은 제품 검색 및 추천을 위해 Elasticsearch와 PHP를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿