Sản phẩm Tương tự

Mô tả Tổng quan

Tính năng Sản phẩm Tương tự cho phép người dùng xác định và xem các sản phẩm có điểm tương đồng với các sản phẩm trong dataset đã chọn. Chức năng này giúp khám phá sản phẩm liên quan, lựa chọn thay thế cạnh tranh hoặc sản phẩm bổ trợ dựa trên nhiều thước đo tương đồng. Bằng cách phân tích thuộc tính sản phẩm, nội dung đánh giá và vị thế thị trường, hệ thống xác định các mối quan hệ sản phẩm có ý nghĩa, hỗ trợ phân tích cạnh tranh và nghiên cứu thị trường.

Tính năng yêu cầu một dataset hợp lệ chứa thông tin sản phẩm và đặc biệt hữu ích cho so sánh thị trường, lập kế hoạch sản phẩm và xác định khoảng trống trong danh mục sản phẩm.

Swagger Link

API: Similar Products API

Tài liệu Tình huống

Trường hợp 1: Sản phẩm Tương tự

Mô tả

Người dùng lấy thành công danh sách sản phẩm tương tự với sản phẩm trong dataset đã chọn.

Sơ đồ Trình tự

sequenceDiagram
    participant User
    participant API as ProductAnalyzerController
    participant Service as ProductAnalysisService
    participant Repo as WishlistDatasetHistoryRepository
    participant JP as JP API

    Note over User,JP: Bước 1: Yêu cầu sản phẩm tương tự
    User->>API: GET /api/v1/general/analyzer/{wldh_slug}/products/similar (kèm tham số)
    
    Note over API,Repo: Bước 2: Xác thực dataset
    API->>Repo: findBySlug(wldh_slug)
    Repo-->>API: wishlistDatasetHistory
    
    Note over API,Service: Bước 3: Truy xuất sản phẩm tương tự
    API->>Service: getSimilarProducts(dataset_id, request_data)
    Service->>JP: Truy vấn sản phẩm tương tự
    JP-->>Service: Dữ liệu thô sản phẩm tương tự
    
    Note over Service,API: Bước 4: Xử lý dữ liệu tương đồng
    Service-->>API: Danh sách sản phẩm tương tự đã xử lý
    
    Note over API,User: Bước 5: Trả về phản hồi
    API-->>User: 200 OK (dữ liệu sản phẩm tương tự)

Các bước

Bước 1: Yêu cầu sản phẩm tương tự

  • Mô tả: Người dùng gửi yêu cầu lấy sản phẩm tương tự cho một dataset
  • Yêu cầu: GET /api/v1/general/analyzer/{wldh_slug}/products/similar
  • Tham số:
    • Tham số đường dẫn: wldh_slug - định danh duy nhất cho lịch sử dataset
    • Tham số truy vấn:
      • product_id - sản phẩm cụ thể để tìm tương tự (tùy chọn)
      • similarity_threshold - ngưỡng điểm tương đồng tối thiểu (tùy chọn)
      • limit - số lượng tối đa kết quả trả về (tùy chọn)

Bước 2: Xác thực dataset

  • Mô tả: Hệ thống xác thực dataset được yêu cầu tồn tại
  • Hành động: Tìm dataset theo slug trong repository
  • Lỗi tiềm ẩn: Dataset không tìm thấy

Bước 3: Truy xuất sản phẩm tương tự

  • Mô tả: Hệ thống tìm các sản phẩm tương tự với sản phẩm trong dataset
  • Hành động: Gọi service để lấy sản phẩm tương tự
  • Yếu tố tương đồng xem xét:
    • Danh mục sản phẩm
    • Khoảng giá
    • Tập tính năng
    • Tương đồng nội dung đánh giá
    • Thị trường mục tiêu

Bước 4: Xử lý dữ liệu tương đồng

  • Mô tả: Hệ thống xử lý và định dạng dữ liệu tương đồng
  • Hành động: Sắp xếp theo điểm tương đồng và chuẩn bị phản hồi
  • Xử lý:
    • Tính toán thước đo tương đồng
    • Bao gồm các yếu tố tương đồng
    • Áp dụng bộ lọc theo yêu cầu

Bước 5: Trả về phản hồi

  • Mô tả: Hệ thống trả về dữ liệu sản phẩm tương tự
  • Phản hồi:
    • Thành công: 200 OK với dữ liệu sản phẩm tương tự
    • Lỗi: Thông báo lỗi và mã trạng thái phù hợp

Bảng/Trường liên quan

Xem: Analysis API Specification

Xử lý Lỗi

  • Log

    • Ghi log thất bại khi lấy sản phẩm tương tự
  • Chi tiết Lỗi:

    Thông báo Mô tả
    404 "Dataset not found" Khi slug dataset không tồn tại
    400 "Invalid parameters" Khi tham số không hợp lệ
    500 Lỗi chung kèm thông điệp ngoại lệ Khi xảy ra lỗi bất ngờ trong xử lý

Ghi chú bổ sung

  • Tính toán tương đồng có thể tốn tài nguyên với dataset lớn
  • Cân nhắc cache kết quả tương đồng để cải thiện hiệu năng
  • Thuật toán xét cả thuộc tính sản phẩm và nội dung đánh giá để tăng độ chính xác
  • Điểm tương đồng trong khoảng 0.0 đến 1.0 (cao hơn là tương đồng hơn)