התאמת מוצרים אוטומטית עם קטלוג ספקים

התאמה ידנית של אלפי מוצרים לרשימת המחירים של הספק אורכת שבועות ודורשת עלויות משמעותיות. אנו הופכים תהליך זה לאוטומטי באמצעות אלגוריתם היברידי המשלב חוקים מדויקים וחיפוש fuzzy. הצוות שלנו מספק פתרון turnkey—מניתוח נתונים ועד הטמעה ותמיכה שוטפת—המבטיח תוצאות אמינות ללא פספוס מועדים.

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

אלה רק חלק מהסוגים הטכניים של אתרים שאנו עובדים איתם, ולכל אחד מהם יכולים להיות מאפיינים ופונקציונליות ספציפיים משלו, וכן ניתן להתאים אותם לצרכים ולמטרות הספציפיים של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
התאמת מוצרים אוטומטית עם קטלוג ספקים
מורכב
~5 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1112
  • פיתוח אתר עבור SBH Partners
    פיתוח אתר עבור SBH Partners
    1201
  • פיתוח אתר עבור Red Pear
    פיתוח אתר עבור Red Pear
    619

התאמה אוטומטית של מוצרים לקטלוג הספק

בעל חנות מקוונת קיבל מחירון מספק עם 50,000 פריטים. כל פריט חייב להיות מותאם לקטלוג הקיים. עיבוד ידני ייקח שבועות ויעלה כ-1.8–2.6 אלף דולר אם יועבר למיקור חוץ. אנו הופכים תהליך זה לאוטומטי באמצעות שילוב של כללים דטרמיניסטיים וחיפוש fuzzy מבוסס טריגרמות. לצוות שלנו ניסיון רב באוטומציה של קטלוגים ומהנדסי PostgreSQL מוסמכים. השלמנו למעלה מ-100 פרויקטים עם קטלוגים של עד 500,000 מוצרים. אנו מבטיחים דיוק התאמה בשלב הבדיקות. אוטומציה של התאמה מקצרת את זמן טעינת המוצרים פי 10 בהשוואה לשיטות ידניות, וחיסכון בעלויות תפעול יכול להגיע ל-4.5–6.5 אלף דולר בשנה עבור חנות עם מחזור של 90–130 אלף דולר.

אילו שיטות התאמה מושוות?

ההתאמה עובדת שכבה אחר שכבה — מהמדויק למקורב. לשם הבהירות, הנה טבלה המשווה בין השיטות:

רמה שיטה דיוק מהירות (10,000 מוצרים) נתונים נדרשים
1 התאמת SKU מדויקת 100% 2 שניות SKU
2 התאמת EAN/ברקוד 99.9% 2 שניות EAN
3 שם מנורמל ~95% 5 שניות שם מלא
4 התאמה fuzzy (טריגרמות) 80-90% 30 שניות שם בכל צורה
5 התאמה ידנית 100% 40 שעות אדם מומחה

יישום אלגוריתמי התאמה

כיצד מיושמת התאמה מדויקת?

השיטה האמינה ביותר היא התאמת SKU מדויקת. אנו בוחרים את המוצר לפי שדה sku. אם ה-SKU חסר, אנו בודקים את הברקוד (EAN). אם גם זה חסר, אנו עוברים לשם המנורמל. להלן השלבים:

  1. שאילתת מוצר לפי class ProductMatcher { public function match(SupplierProduct $sp): MatchResult { if ($p = Product::where('sku', $sp->article)->first()) { return MatchResult::exact($p->id, 'sku'); } if ($sp->ean && $p = Product::where('ean', $sp->ean)->first()) { return MatchResult::exact($p->id, 'ean'); } $normalized = $this->normalize($sp->name); if ($p = Product::where('name_normalized', $normalized)->first()) { return MatchResult::exact($p->id, 'name_normalized'); } $candidate = $this->fuzzySearch($normalized); if ($candidate && $candidate->score >= 0.88) { return MatchResult::fuzzy($candidate->id, $candidate->score); } return MatchResult::unmatched(); } } .
  2. אם לא נמצא, שאילתה לפי name_normalized.
  3. אם לא נמצא, נרמל את שם הספק ושאילתה לפי private function normalize(string $name): string { $name = mb_strtolower($name); $name = preg_replace('/[\s\-\_\/]+/', ' ', $name); $name = preg_replace('/[^\p{L}\p{N}\s]/u', '', $name); $name = preg_replace('/\b(арт|art|код|ref|no)\b\.?\s*/iu', '', $name); return trim($name); } .
  4. אם עדיין לא נמצא, בצע חיפוש fuzzy באמצעות דמיון טריגרמות.
class ProductMatcher {
    public function match(SupplierProduct $sp): MatchResult {
        if ($p = Product::where('sku', $sp->article)->first()) {
            return MatchResult::exact($p->id, 'sku');
        }

        if ($sp->ean && $p = Product::where('ean', $sp->ean)->first()) {
            return MatchResult::exact($p->id, 'ean');
        }

        $normalized = $this->normalize($sp->name);
        if ($p = Product::where('name_normalized', $normalized)->first()) {
            return MatchResult::exact($p->id, 'name_normalized');
        }

        $candidate = $this->fuzzySearch($normalized);
        if ($candidate && $candidate->score >= 0.88) {
            return MatchResult::fuzzy($candidate->id, $candidate->score);
        }

        return MatchResult::unmatched();
    }
}

התפקיד הקריטי של נורמליזציית שמות

נורמליזציה מביאה מחרוזות לפורמט אחיד: מסירה תווים מיותרים, מילות שירות (art, ref, no), ומתקנת רישיות. בלעדיה, מוצרים זהים עם כתיב שונה (למשל, "Smartphone X10" ו-"Smartphone X10 Pro") לא היו מותאמים. הערך המנורמל נשמר בשדה CREATE EXTENSION IF NOT EXISTS pg_trgm; CREATE INDEX products_name_trgm_idx ON products USING gin (name_normalized gin_trgm_ops); עם אינדקס, מה שמאיץ את החיפוש פי 3 בהשוואה לשמות גולמיים. בפועל, נורמליזציה מהירה פי 50 מבדיקה ידנית.

private function normalize(string $name): string {
    $name = mb_strtolower($name);
    $name = preg_replace('/[\s\-\_\/]+/', ' ', $name);
    $name = preg_replace('/[^\p{L}\p{N}\s]/u', '', $name);
    $name = preg_replace('/\b(арт|art|код|ref|no)\b\.?\s*/iu', '', $name);
    return trim($name);
}

יישום חיפוש fuzzy עם PostgreSQL

לחיפוש fuzzy, אנו משתמשים בהרחבה pg_trgm. היא מחשבת דמיון מחרוזות על בסיס טריגרמות ויעילה יותר מבחינה חישובית ממרחק לוונשטיין עבור מערכי נתונים גדולים. שיטה זו מעבדת 10,000 מוצרים ב-30 שניות, מהיר פי 10 מהתאמה ידנית.

CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE INDEX products_name_trgm_idx ON products USING gin (name_normalized gin_trgm_ops);

שאילתה למציאת דומים:

SELECT id, name_normalized, similarity(name_normalized, :query) AS score
FROM products
WHERE similarity(name_normalized, :query) > 0.7
ORDER BY score DESC
LIMIT 5;

ב-PHP דרך Eloquent, אנו מקבלים מועמד אחד הטוב ביותר עם סף של 0.88.

טיפול בפריטים ללא התאמה ואחסון מיפוי

טיפול בפריטים ללא התאמה

אם פריט לא נמצא אוטומטית, המערכת בודקת אם קיים מוצר דומה עם ציון נמוך. אם נמצא, נוצר רשומה עם SELECT id, name_normalized, similarity(name_normalized, :query) AS score FROM products WHERE similarity(name_normalized, :query) > 0.7 ORDER BY score DESC LIMIT 5; והמפעיל מקבל הודעה. אם אין מוצר דומה, נוצר מוצר טיוטה או שהפריט מפורט להתאמה ידנית. זה מפחית את הסיכון לפספוס פריט. בקשו ייעוץ לגבי הגדרת תהליך זה.

אחסון המיפוי

לאחסון התאמות, אנו משתמשים בטבלה הבאה:

CREATE TABLE supplier_product_mapping (
    id serial PRIMARY KEY,
    supplier_id int NOT NULL,
    supplier_sku varchar(100) NOT NULL,
    product_id int REFERENCES products(id),
    match_type varchar(20),
    match_score float,
    confirmed boolean DEFAULT false,
    confirmed_by int,
    confirmed_at timestamptz,
    created_at timestamptz DEFAULT now(),
    UNIQUE (supplier_id, supplier_sku)
);

מיפויים מאושרים (confirmed=false) משמשים ישירות. מיפויים fuzzy לא מאושרים דורשים בדיקת מפעיל.

מיפוי קטגוריות וזיהוי כפילויות

קטגוריות הספק ממופות לעץ הקטגוריות של האתר לאחר מיפוי ידני. גלאי הכפילויות מחפש EAN זהים או שמות מנורמלים דומים בתוך מחירון אחד. כפילויות כאלה מאוחדות או מוסרות, ומונעות עומס בקטלוג. זה חוסך עד 20% מזמן טעינת המוצרים.

אופטימיזציית ביצועים לקטלוגים גדולים

ביצועים עם 100,000+ מוצרים עם 100,000+ פריטים, סריקת fuzzy מלאה איטית מדי. אנו מיישמים עיבוד בקבוצות: תחילה התאמות מדויקות (שאילתת SQL אחת עם `IN`), ולאחר מכן fuzzy רק עבור הפריטים הנותרים. אנו שומרים מיפויים ידועים ב-Redis ומעבדים בנתחים דרך תור. זה מאיץ את העיבוד פי 5.

תוצרים והיקף עבודה

  • ניתוח מחירון הספק ומבנה הקטלוג.
  • יישום אלגוריתמי התאמה (מדויק, fuzzy, ידני).
  • הגדרת מסד נתונים (pg_trgm, אינדקסים).
  • יצירת ממשק ניהול למפעיל.
  • אינטגרציה עם הספק (API, ייצוא, ייבוא).
  • הכשרת עובדים ותיעוד.
  • אחריות לדיוק ההתאמה בשלב הבדיקות.

לוח זמנים

  • התאמה מדויקת, אחסון, טיוטות: 3 ימים.
  • נורמליזציה, fuzzy, תור אישורים: +2 ימים.
  • מיפוי קטגוריות, זיהוי כפילויות, ממשק ניהול: +2–3 ימים.
  • סה"כ: 5 עד 8 ימים בהתאם למורכבות.

התאמה אוטומטית מקצרת את זמן טעינת המוצרים פי 10 בהשוואה למיפוי ידני. עבור קטלוג של 50,000 מוצרים, זה חוסך כ-4.5–6.5 אלף דולר בשנה בעלויות תפעול. צרו קשר כדי לדון באינטגרציה עם הספק שלכם. הזמינו יישום של מיפוי אוטומטי עכשיו.