הגדרת השלמה אוטומטית לחיפוש ב-1C-Bitrix
לעתים קרובות אנו נתקלים במצב שבו לקוח מבקש "להשלים אוטומטית", אך למעשה זקוק להצעות מוצרים, ולהיפך. ההבדל הוא קריטי: השלמה אוטומטית משלימה ביטוי, הצעות מציגות ישויות ספציפיות. במאמר זה נסביר כיצד אנו מבחינים בין התרחישים הללו ומה אנו מיישמים עבור כל מקרה עסקי.
פרויקטים לעתים קרובות חורגים מהיכולות הסטנדרטיות של רכיב bitrix:search.suggest. לדוגמה, חנות מסחר אלקטרוני עם קטלוג של 500,000 פריטים דורשת השלמה אוטומטית המתחשבת בפופולריות של שאילתות ובקטגוריות. או פורטל ארגוני עם אלף עובדים — נדרשות הצעות למסמכים ואנשי קשר. אנו מפתחים פתרונות מותאמים אישית, תוך שילוב ההשלמה האוטומטית עם אינדקס החיפוש והיסטוריית השאילתות. אנו נעריך את הפרויקט שלך בחינם ונבחר את האפשרות הטובה ביותר במפתח פתוח.
כיצד פועלת ההשלמה האוטומטית הסטנדרטית של Bitrix?
רכיב bitrix:search.suggest מציע אפשרויות מתוך אינדקס החיפוש. אם נדרשת השלמה אוטומטית המבוססת על שאילתות משתמשים פופולריות — נדרשת התאמה אישית. אנו כוללים היסטוריית חיפוש וכותבים נקודת קצה משלנו.
תרחיש 1: השלמה אוטומטית מאינדקס החיפוש המשתמש מקליד "אדום", המערכת מציעה: "שמלות אדומות", "נעלי ספורט אדומות", "ספה אדומה". מקור — כותרות מ-b_search_content.
תרחיש 2: השלמה אוטומטית מהיסטוריית חיפוש המערכת מציעה שאילתות פופולריות של משתמשים אחרים התואמות לתווים שהוזנו. מקור — היסטוריית חיפוש מ-b_search_user_trans (אם מעקב היסטוריה מופעל).
רכיב bitrix:search.suggest הסטנדרטי מיישם תרחיש 1. תרחיש 2 דורש פיתוח מותאם אישית.
מה מספקת השלמה אוטומטית מהיסטוריית חיפוש?
בפועל, UX משולב (היסטוריה + אינדקס) מניב 30% יותר קליקים מאשר אינדקס בלבד. משתמשים מוצאים מוצרים פופולריים מהר יותר, ושאילתות נדירות לא אובדות. עבור חנות אלקטרוניקה עם קטלוג של 200,000 פריטים, יישמנו היברידי כזה — מהירות החיפוש ירדה מ-4 קליקים ל-1, וההמרה עלתה ב-25%. ההכנסה הנוספת גדלה ב-15% עקב פחות עגלות נטושות.
הפעלת היסטוריית חיפוש
Настройки → Поиск → Настройки модуля → Сохранять историю поиска — הפעל.
ההיסטוריה מאוחסנת ב-b_search_user_trans. שדות: SITE_ID, WORD (שאילתת חיפוש), DATE_CHANGE, POPULARITY (מספר חזרות).
יישום השלמה אוטומטית משאילתות פופולריות
נקודת קצה AJAX להשלמה אוטומטית מהיסטוריה:
// /local/ajax/search_autocomplete.php require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php'; $query = trim($_GET['q']); if (strlen($query) < 2) { die(json_encode([])); } $result = \Bitrix\Main\Application::getConnection()->query( "SELECT WORD, POPULARITY FROM b_search_user_trans WHERE SITE_ID = '" . SITE_ID . "' AND WORD LIKE '" . \Bitrix\Main\DB\MssqlConnection::ForSql($query) . "%' ORDER BY POPULARITY DESC LIMIT 10" ); $suggestions = []; while ($row = $result->fetch()) { $suggestions[] = $row['WORD']; } echo json_encode($suggestions); בצד הלקוח — קלט סטנדרטי עם מטפל באירוע // /local/ajax/search_autocomplete.php require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php'; $query = trim($_GET['q']); if (strlen($query) < 2) { die(json_encode([])); } $result = \Bitrix\Main\Application::getConnection()->query( "SELECT WORD, POPULARITY FROM b_search_user_trans WHERE SITE_ID = '" . SITE_ID . "' AND WORD LIKE '" . \Bitrix\Main\DB\MssqlConnection::ForSql($query) . "%' ORDER BY POPULARITY DESC LIMIT 10" ); $suggestions = []; while ($row = $result->fetch()) { $suggestions[] = $row['WORD']; } echo json_encode($suggestions); ו-debounce של 200-300 אלפיות שנייה.
מדוע ממשק משולב נותן את ה-UX הטוב ביותר?
בפועל, ה-UX הנוח ביותר הוא תפריט נפתח משולב:
- חלק עליון: 3-5 שאילתות פופולריות (השלמה אוטומטית)
- חלק תחתון: 5-7 מוצרים ספציפיים (הצעות עם תמונות)
זה מיושם באמצעות שתי בקשות AJAX מקבילות או נקודת קצה אחת המחזירה שני סוגי נתונים. ממשק משולב נותן 30-40% יותר קליקים על תוצאות חיפוש.
| פרמטר | השלמה אוטומטית (אינדקס חיפוש) | השלמה אוטומטית (היסטוריית חיפוש) |
|---|---|---|
| מקור | b_search_content | b_search_user_trans |
| דורש הגדרה | לא, מוכן לשימוש | כן, הפעל היסטוריית חיפוש |
| דיוק | גבוה למוצרים | גבוה לביטויים פופולריים |
| ביצועים | מהיר, אינדקס מוכן | איטי יותר, דורש בחירה |
השוואה לפי זמן יישום
| סוג פתרון | זמן הגדרה | עומס על מסד הנתונים |
|---|---|---|
| search.suggest סטנדרטי | 1-2 שעות | נמוך |
| מותאם אישית מהיסטוריה | מ-4 שעות | בינוני (עם מטמון) |
| ממשק משולב | מיומיים | בינוני |
מטמון
שאילתות השלמה אוטומטית רצות על כל הקלדה — חשוב לשמור תגובות במטמון. אפשרויות:
- מטמון Bitrix (
input) עם TTL של 30-60 דקות - Redis/Memcached לאחסון שאילתות פופולריות
- קבצים סטטיים עבור 100 השאילתות הפופולריות ביותר (מעודכן על ידי סוכן פעם בשעה)
מה כלול בעבודה
- ניתוח ארכיטקטורת החיפוש הנוכחית ודרישות ההשלמה האוטומטית
- יישום נקודת קצה AJAX להשלמה אוטומטית/הצעות
- הגדרת מטמון (מטמון מתויג, Redis/Memcached)
- אינטגרציה בצד הלקוח (debounce, רכיב UI)
- בדיקות עומס ואופטימיזציה של שאילתות
- תיעוד השינויים והמלצות תחזוקה
תהליך עבודה
- אנליטיקה — חקר דרישות עסקיות, חיפוש ועומס נוכחיים
- עיצוב — בחירת תרחיש השלמה אוטומטית, נקודת קצה וארכיטקטורת מטמון
- פיתוח — קידוד, הגדרת רכיבים, עיצוב UI
- בדיקות — אימות על נתונים אמיתיים, בדיקות עומס
- פריסה — העלאה לסביבת ייצור, ניטור ביצועים
זמן יישום
מיום אחד להשלמה אוטומטית בסיסית ועד 5 ימים לפתרון משולב מורכב עם UI מותאם אישית. העלות מחושבת בנפרד לאחר ניתוח הפרויקט. צור קשר — נעריך את הפרויקט שלך ונציע את הפתרון הטוב ביותר במפתח פתוח.
מקרה בוחן
עבור חנות מסחר אלקטרוני לאלקטרוניקה עם קטלוג של 200,000 פריטים, יישמנו השלמה אוטומטית עם מודעות לקטגוריות והיסטוריית חיפוש. תוצאה: מהירות חיפוש המוצרים ירדה מ-4 קליקים ל-1, והמרת החיפוש עלתה ב-25%. השתמשנו במטמון מתויג Redis ו-debounce של 300 אלפיות שנייה.
למידע נוסף על השלמה אוטומטית בויקיפדיה. לצוות שלנו ניסיון של למעלה מ-5 שנים בפיתוח Bitrix, מומחים מוסמכים. השלמנו יותר מ-30 פרויקטים של התאמת חיפוש. אנו מבטיחים פעולה יציבה בעומס של עד 10,000 משתמשים בו זמנית.
קבל ייעוץ לפרויקט שלך — נבחר את הפתרון האופטימלי לתקציב וללוח הזמנים שלך. כתוב לנו.







