현재 위치: > 최신 기사 목록> 스핑크스 및 PHP를 사용하여 전자 상거래 제품 필터링 및 정렬 최적화를 달성하십시오.

스핑크스 및 PHP를 사용하여 전자 상거래 제품 필터링 및 정렬 최적화를 달성하십시오.

M66 2025-07-01

소개

전자 상거래 플랫폼 규모의 지속적인 확장으로 사용자가 직면 한 제품의 수와 유형이 점점 풍부 해지고 있습니다. 사용자가 필요한 제품을보다 효율적으로 배치 할 수 있도록 제품의 속성 필터링 및 정렬 기능이 중요해졌습니다. 이 기사는 플랫폼의 검색 경험을 향상시키기 위해 Sphinx 및 PHP와 빠르게 반응하는 검색 시스템을 구축하는 방법을 공유합니다.

스핑크스 소개

Sphinx는 검색 성능이 매우 높은 오픈 소스 전체 텍스트 검색 엔진입니다. 여러 검색 모드를 지원하고 대규모 데이터를 빠르게 쿼리하는 데 적합하며 현장 검색, 전자 상거래 시스템, 로그 분석 및 기타 시나리오에 널리 사용됩니다.

제품 속성 필터링을 구현하십시오

전자 상거래 플랫폼에서 제품은 일반적으로 브랜드, 색상, 크기 등과 같은 여러 속성을 가지고 있습니다. Sphinx의 필터링 기능을 통해 사용자는 주문시 대상 제품을 필터링 할 수 있습니다. 다음은 SphinxClient 클래스를 사용하여 PHP와 함께 브랜드 필터링을 구현하는 방법을 보여주는 샘플 코드입니다.

 
$cl = new SphinxClient;
$cl->SetServer("localhost", 9312);
$cl->SetMatchMode(SPH_MATCH_ALL);
$cl->SetFilter('brand', array(1)); // 브랜드 필터링 기준을 설정하십시오,브랜드를 가정합니다ID~을 위한1

$res = $cl->Query("iphone");

if ($res === false) {
    echo "검색이 실패했습니다!";
} else {
    echo "성공적으로 검색하십시오,총 일치합니다" . count($res['matches']) . "제품。";
    foreach ($res['matches'] as $match) {
        echo "상품ID:" . $match['id'] . ",상품名称:" . $match['title'] . "<br>";
    }
}

속성 필터를 설정하면 검색 결과를보다 정확하게 만들고 사용자의 개인화 된 요구를 충족시킬 수 있습니다.

제품 분류 기능을 구현하십시오

필터링 외에도 사용자는 일반적으로 가격, 판매 및 등급과 같은 크기로 검색 결과를 정렬하려고합니다. Sphinx는 유연한 정렬 설정을 지원하며 다음 예제는 사용자 선택에 따라 정렬 조건을 동적으로 설정합니다.

 
$cl = new SphinxClient;
$cl->SetServer("localhost", 9312);
$cl->SetMatchMode(SPH_MATCH_ALL);

$sort = "@relevance DESC"; // 기본적으로 종속성으로 정렬하십시오

// 사용자 선택에 따라 정렬 방법을 동적으로 설정하십시오
if ($userSort == 'price') {
    $sort .= ", price ASC";
} elseif ($userSort == 'sales') {
    $sort .= ", sales DESC";
} elseif ($userSort == 'rating') {
    $sort .= ", rating DESC";
}

$cl->SetSortMode(SPH_SORT_EXTENDED, $sort);
$res = $cl->Query("iphone");

if ($res === false) {
    echo "검색이 실패했습니다!";
} else {
    echo "성공적으로 검색하십시오,총 일치합니다" . count($res['matches']) . "제품。";
    foreach ($res['matches'] as $match) {
        echo "상품ID:" . $match['id'] . ",상품名称:" . $match['title'] . "<br>";
    }
}

이 방법은 검색 유연성을 향상시킬뿐만 아니라 사용자의 탐색 경험을 크게 최적화합니다.

결론

Sphinx와 PHP를 결합하여 전자 상거래 플랫폼을위한 효율적이고 확장 가능한 검색 엔진 시스템을 구축 할 수 있습니다. 다차원 속성 필터링 또는 유연한 결과 정렬이든, 대규모 제품 간의 요구를 정확하게 배치하려는 사용자의 목표를 충족시킬 수 있습니다. 이 기사의 실제 예제가 전자 상거래 플랫폼에서 검색 기능을 개발할 때 귀중한 참조를 제공 할 수 있기를 바랍니다.