שילוב Typesense לחיפוש באתר במפתח אחד

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

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

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
שילוב Typesense לחיפוש באתר במפתח אחד
בינוני
מ- 1 יום עד 3 ימים

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

שאלות נפוצות

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

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

משתמשים מגיעים לאתר, מקלידים שאילתה... וכלום. אפס תוצאות. או גרוע מכך — מאות עמודים ללא פילטרים. חיפוש MySQL סטנדרטי עם # docker-compose.yml services: typesense: image: typesense/typesense:0.25.2 command: > --data-dir /data --api-key=${TYPESENSE_API_KEY} --listen-port=8108 --enable-cors volumes: - typesense_data:/data ports: - "8108:8108" כבר לא יכול להתמודד עם התחרות. לפי הסטטיסטיקות, 70% מהמשתמשים עוזבים את האתר אם הם לא מוצאים את המוצר הרצוי בתוך 3 השניות הראשונות. עם חיפוש LIKE, זמן התגובה גדל באופן ליניארי עם גודל מסד הנתונים: על 100,000 רשומות הוא מגיע ל-2-3 שניות. Typesense, לעומת זאת, מעבד שאילתות ב-15-50 אלפיות השנייה, מהיר פי 200. אנחנו פותרים בעיה זו על ידי שילוב Typesense — מנוע חיפוש שמגיב באלפיות השנייה ומספק תוצאות רלוונטיות אפילו על מאגרי מיליוני מסמכים. המעבר ל-Typesense חוסך עד 60% מהתקציב בהשוואה ל-Algolia, ועלות השילוב מחזירה את עצמה תוך 3-6 חודשים.

למה Typesense?

Typesense כתוב ב-C++ ומציג את עצמו כאלטרנטיבה מתארחת עצמית ל-Algolia. התכונה המרכזית שלו היא סכמת אוסף קפדנית שמבטיחה שלמות נתונים וזמן תגובה יציב (באופן עקבי מתחת ל-50 אלפיות השנייה). בניגוד ל-Meilisearch, ל-Typesense יש אשכולות מובנים דרך אלגוריתם Raft, תמיכה בחיפוש וקטורי דרך HNSW, וחיפוש גיאוגרפי מובנה. תיעוד Typesense טוען שעל מאגר של 10 מיליון מסמכים, זמן התגובה הממוצע אינו עולה על 30 אלפיות השנייה.

מאפיין Typesense Meilisearch
שפת פיתוח C++ Rust
אשכולות מובנה (Raft) לא קיים ב-OSS
חיפוש וקטורי כן (HNSW) כן (מגרסה 1.6)
חיפוש גיאוגרפי כן, מובנה כן
ניתוח שאילתות מובנה דרך כלים של צד שלישי
סכמה קפדנית חובה אופציונלי

Typesense מהיר פי שניים עד שלושה מ-Meilisearch בשאילתות עם פנים (facets) בזכות ניתוח מובנה ואינדוקס יעיל יותר. ניסיון השילוב שלנו מאשר: לאחר מעבר מ-Elasticsearch, זמן התגובה הממוצע ירד מ-200 אלפיות השנייה ל-15 אלפיות השנייה, ודיוק החיפוש הגיע ל-95%.

איך אנחנו מגדירים את Typesense

תהליך השילוב כולל 5 שלבים:

  1. פריסה — הרצת Typesense בקונטיינר Docker עם מפתח API ופורט.
  2. יצירת סכמה — הגדרת אוספים עם סוגי שדות קפדניים ופנים (facets).
  3. אינדוקס — כתיבת סקריפט לסנכרון נתונים ממסד הנתונים ל-Typesense בקבוצות.
  4. רכיב פרונטאנד — פיתוח סרגל חיפוש עם השלמה אוטומטית, פנים ומיון.
  5. כוונון עדין — בדיקת רלוונטיות, התאמת משקלי שדות ומילים נרדפות.

פריסה ויצירת אוסף

Typesense נפרס בקלות דרך Docker. דוגמה { "name": "products", "fields": [ { "name": "id", "type": "string" }, { "name": "name", "type": "string" }, { "name": "description", "type": "string" }, { "name": "price", "type": "float", "facet": true }, { "name": "category", "type": "string", "facet": true }, { "name": "brand", "type": "string", "facet": true }, { "name": "in_stock", "type": "bool", "facet": true }, { "name": "rating", "type": "float", "optional": true }, { "name": "location", "type": "geopoint","optional": true } ], "default_sorting_field": "rating" } :

---
# docker-compose.yml services: typesense: image: typesense/typesense:0.25.2 command: > --data-dir /data --api-key=${TYPESENSE_API_KEY} --listen-port=8108 --enable-cors volumes: - typesense_data:/data ports: - "8108:8108" 
---

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

{
  "name": "products",
  "fields": [
    {
      "name": "id",
      "type": "string"
    },
    {
      "name": "name",
      "type": "string"
    },
    {
      "name": "description",
      "type": "string"
    },
    {
      "name": "price",
      "type": "float",
      "facet": true
    },
    {
      "name": "category",
      "type": "string",
      "facet": true
    },
    {
      "name": "brand",
      "type": "string",
      "facet": true
    },
    {
      "name": "in_stock",
      "type": "bool",
      "facet": true
    },
    {
      "name": "rating",
      "type": "float",
      "optional": true
    },
    {
      "name": "location",
      "type": "geopoint",
      "optional": true
    }
  ],
  "default_sorting_field": "rating"
}

אינדוקס נתונים

אנחנו כותבים אינדקסר ב-PHP (או Python/Node — לפי בחירת הלקוח). הוא טוען נתונים ממסד הנתונים ל-Typesense בקבוצות של 1000 מסמכים. כל מסמך חייב להכיל את כל שדות הסכמה. עבור upsert אנחנו משתמשים ב-import עם פעולת 'upsert':

$documents = $products->map(fn($p) => [
    'id' => (string) $p->id,
    'name' => $p->name,
    'price' => (float) $p->price,
    'category' => $p->category->slug,
    'in_stock' => $p->stock > 0,
])->toArray();

$client->collections['products']->documents->import(
    $documents,
    ['action' => 'upsert']
);

חיפוש עם פנים בפרונטאנד

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

$results = $client->collections['products']->documents->search([
    'q' => $query,
    'query_by' => 'name,description,brand',
    'query_by_weights' => '3,1,2',
    'filter_by' => 'in_stock:true && price:[100..5000]',
    'facet_by' => 'category,brand,price',
    'max_facet_values' => 20,
    'sort_by' => 'rating:desc',
    'per_page' => 20,
    'page' => 1,
]);

איך Typesense תומך בחיפוש וקטורי

לחיפוש סמנטי, Typesense מקבל וקטורי embedding. ה-Embeddings נוצרים בצד היישום (OpenAI, Cohere), ולאחר מכן הווקטורים מועברים ל-Typesense. חיפוש היברידי (טקסט + וקטור) נתמך, ומאפשר למצוא מסמכים לפי משמעות, לא רק התאמות מדויקות. זה שימושי במיוחד עבור קטלוגים גדולים של מוצרים: לדוגמה, השאילתה "סמארטפון זול עם מצלמה טובה" תחזיר דגמים רלוונטיים גם אם המילים האלה לא מופיעות בתיאור.

טעויות נפוצות בשילוב
  • בחירת סכמה שגויה — אם שדה לא מסומן כפנים, אי אפשר להשתמש בו לסינון. שינוי הסכמה לאחר תחילת האינדוקס הוא קשה (יש ליצור את האוסף מחדש).
  • יותר מדי שדות פנים — ככל שיש יותר שדות פנים, הכתיבה איטית יותר. אנחנו ממליצים על לא יותר מ-10.
  • התעלמות מניתוח — Typesense מאחסן סטטיסטיקות שאילתות עבור שאילתות ללא תוצאות. נתונים אלה עוזרים לשפר מילים נרדפות ומילות עצירה.

מה כלול בעבודה?

  • ביקורת חיפוש נוכחית — ניתוח שאילתות, שגיאות, רלוונטיות.
  • פריסת Typesense — קונטיינר Docker על השרת שלך או בענן.
  • יצירת סכמת אוסף — מותאמת למבנה הנתונים שלך.
  • אינדקסר לסנכרון — קוד ב-PHP/Node/Python עם טיפול בדלתא.
  • רכיב חיפוש פרונטאנד — עם השלמה אוטומטית, פנים, מיון וחיפוש גיאוגרפי (אופציונלי).
  • בדיקות וכוונון רלוונטיות — משקלי שדות, מילים נרדפות, מילות עצירה.
  • תיעוד והדרכה — תיאור API ותצורה עבור הצוות שלך.
  • הבטחת תוצאות — אנחנו מבטיחים זמן תגובה מתחת ל-50 אלפיות השנייה ודיוק חיפוש עד 95%.

כמה זמן לוקח השילוב?

שלב זמן
פריסה, סכמת אוסף יום אחד
אינדקסר + סנכרון יומיים
חיפוש עם פנים בפרונטאנד 2–3 ימים
חיפוש וקטורי (אופציונלי) יומיים נוספים
בדיקות, רלוונטיות יום אחד

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

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