הגדרת הסרת כפילויות מוצרים במילוי אוטומטי של 1C-Bitrix

בעת מילוי אוטומטי של קטלוג ממקורות מרובים - למשל, 1C ורשימת מחירים של שותף - כפילויות הן בלתי נמנעות. דוגמה טיפוסית: המוצר "Bosch GSR 18V-50" מופיע פעמיים עם שמות, מחירים ומלאי שונים. זה מבלבל מסננים ולוקח עד 40% מזמנם של מנהלים על תיקון ידני
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
הגדרת הסרת כפילויות מוצרים במילוי אוטומטי של 1C-Bitrix
פשוט
~1 יום

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

שאלות נפוצות

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

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1462
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1019
  • פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    764
  • פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    882
  • פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    810
  • פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    1166

בעת מילוי אוטומטי של קטלוג ממספר מקורות — לדוגמה, 1C ורשימת מחירים של שותף — כפילויות הן בלתי נמנעות. דוגמה טיפוסית: המוצר "Bosch GSR 18V-50" מופיע פעמיים עם שמות, מחירים ומלאי שונים. זה מעמיס על המסננים ולוקח עד 40% מזמן המנהלים על התאמה ידנית. בקטלוגים גדולים (50,000+ מוצרים), חלק הכפילויות עולה לרוב על 15–20%. אנו פותרים זאת ברמת פלטפורמת Bitrix: אנו מגדירים כללי התאמה, נורמליזציה ואסטרטגיות מיזוג. התוצאה היא קטלוג נקי ללא כפילויות, חוסך עד 70% מזמן הניהול. עלויות ההתקנה מתחילות מ-$500 וגדלות בהתאם לגודל הקטלוג, עם חיסכון אופייני העולה על $2,000 לחודש.

הסרת כפילויות משתמשת בשלוש רמות: התאמה מדויקת לפי מזהה, התאמה לפי שילוב שדות, והתאמה עמומה. יחד הן מכסות 95% מהכפילויות.

כיצד אנו מתמודדים עם כפילויות ללא מזהה?

השיטה האמינה ביותר היא התאמה מדויקת לפי מפתח: אם למוצר יש מזהה חיצוני ייחודי (EAN, GTIN, SKU של יצרן), הסרת הכפילויות היא טריוויאלית — אנו בודקים אם קיים רכיב עם XML_ID או PROPERTY_ARTICLE. בקטלוג של 100,000 מוצרים, בדיקה זו אורכת פחות משנייה. התאמה מדויקת היא אמינה ב-100%, בעוד שהתאמה עמומה משיגה דיוק של 70-85% אך תופסת 95% מהכפילויות.

$existing = CIBlockElement::GetList( [], ['IBLOCK_ID' => $iblockId, 'XML_ID' => $externalId], false, ['nTopCount' => 1], ['ID'] )->Fetch(); if ($existing) { (new CIBlockElement())->Update($existing['ID'], $arFields); } else { (new CIBlockElement())->Add($arFields); } 

בפועל, לא כל המקורות מספקים מזהה ייחודי יציב. SKU של ספק שונה מ-SKU של יצרן. מוצר אחד עשוי להיות עם 3–5 SKU שונים מספקים שונים, מה שיוצר מורכבות בהתאמה.

התאמה לפי שילוב שדות

אם אין מפתח ייחודי — אנו מחפשים לפי שילוב: שם + מותג + מאפיין מפתח (נפח, משקל, גודל).

$filter = [ 'IBLOCK_ID' => $iblockId, '%NAME' => $normalizedName, 'PROPERTY_BRAND' => $brand, ]; 

לפני ההשוואה, השמות מנורמלים: אותיות קטנות, הסרת רווחים מיותרים, החלפת סמלים טיפוגרפיים.

התאמה עמומה

במקרים שבהם שמות שונים בין ספקים: "Bosch GSR 18V-50 Professional" לעומת "Шуруповёрт Bosch GSR18V50". אלגוריתמים בשימוש: $existing = CIBlockElement::GetList( [], ['IBLOCK_ID' => $iblockId, 'XML_ID' => $externalId], false, ['nTopCount' => 1], ['ID'] )->Fetch(); if ($existing) { (new CIBlockElement())->Update($existing['ID'], $arFields); } else { (new CIBlockElement())->Add($arFields); } , מרחק לוונשטיין, טריגרמות. הסרת כפילויות אוטומטית מהירה פי 10 ומדויקת יותר מבדיקה ידנית, והתאמה עמומה נותנת פי 5 פחות תוצאות חיוביות שגויות. זה מפחית את שיעור השגיאות ב-80% במהלך הייבוא.

שיטה מהירות דיוק דוגמה
התאמה מדויקת גבוהה 100% EAN, XML_ID
שילוב שדות בינונית 90-95% שם + מותג
התאמה עמומה נמוכה 70-85% מרחק לוונשטיין

נורמליזציית שמות כבסיס להסרת כפילויות

נורמליזציה משפיעה ישירות על איכות הסרת הכפילויות. סט מינימלי של טרנספורמציות:

  • אותיות קטנות: $filter = [ 'IBLOCK_ID' => $iblockId, '%NAME' => $normalizedName, 'PROPERTY_BRAND' => $brand, ]; .
  • הסרת תווים מיוחדים: סוגריים, מרכאות, מקפים, לוכסנים.
  • הסרת מילות עצירה: "מאמר", "מס'", "קוד", "דגם".
  • נורמליזציית רווחים: רווחים מרובים → רווח אחד.
  • הסרת אזכורי יחידות ומידות מהשם (אם מאוחסנים במאפיינים נפרדים).
function normalizeName(string $name): string { $name = mb_strtolower(trim($name)); $name = preg_replace('/[()«»"\'\/\-]/', ' ', $name); $name = preg_replace('/\b(арт|артикул|код|модель)\b\.?/u', '', $name); $name = preg_replace('/\s+/', ' ', $name); return trim($name); } 

בחירת אסטרטגיית מיזוג כפילויות

כאשר נמצאה כפילות, מיושמת אחת משלוש אסטרטגיות:

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

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

יישום ב-Bitrix

השדה XML_ID הוא כלי מפתח להסרת כפילויות. הוא ממו�索引 כברירת מחדל, החיפוש לפיו מהיר. אך עבור קטלוג רב-מקורות, similar_text() אחד אינו מספיק.

תכנית מומלצת: אינפובלוק ייחוס נפרד mb_strtolower() עם שדות:

  • function normalizeName(string $name): string { $name = mb_strtolower(trim($name)); $name = preg_replace('/[()«»"\'\/\-]/', ' ', $name); $name = preg_replace('/\b(арт|артикул|код|модель)\b\.?/u', '', $name); $name = preg_replace('/\s+/', ' ', $name); return trim($name); } — מזהה חיצוני (SKU של ספק).
  • XML_ID — מקור (שם ספק).
  • parser_external_ids — מזהה רכיב הקטלוג הראשי.
  • NAME — סוג התאמה (מדויקת, עמומה, ידנית).

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

הסרת כפילויות בכמות גדולה של קטלוג קיים

אם הקטלוג כבר מכיל כפילויות — יש צורך בניקוי חד-פעמי. אלגוריתם:

  1. ייצוא כל הרכיבים: ID, NAME, XML_ID, מאפיינים מרכזיים.
  2. נורמליזציית שמות.
  3. קיבוץ לפי שם מנורמל + מותג.
  4. בכל קבוצה, בחירת "רשומה ראשית" (הכרטיס השלם ביותר, ה-ID הגדול ביותר, או מקור בעל עדיפות).
  5. העברת הזמנות, קישורים, מאפיינים מהכפילויות לרשומה הראשית.
  6. השבתת כפילויות (PROPERTY_SOURCE), לא מחיקה.

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

מה כלול בהתקנת הסרת כפילויות

  • ניתוח מקורות נתונים וזיהוי סוגי כפילויות.
  • פיתוח מפענח עם נורמליזציה וחיפוש עמום.
  • הגדרת ייחוס external_ids עם עדיפויות.
  • אינטגרציה עם Bitrix24 REST (אם בשימוש).
  • בדיקות על נתונים אמיתיים — 3–5 איטרציות.
  • תיעוד פעולת המערכת.
  • הדרכת מנהלים על טיפול בכפילויות.
  • תמיכה טכנית למשך 6 חודשים.

למומחי Bitrix שלנו יש ניסיון של 10+ שנים בפיתוח 1C-Bitrix והם ביצעו 40+ פרויקטי אינטגרציה מוצלחים. הזמינו ייעוץ — נעריך את הפרויקט שלכם תוך 24 שעות ונציע פתרון הסרת כפילויות אופטימלי. צרו קשר כדי להתחיל.