חיפוש מורפולוגי באלסטיקסרץ': רוסית ואנגלית

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

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

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

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

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

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

שאלות נפוצות

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

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

כשמחפשים "листья" עם גזירה בסגנון Snowball ב-Elasticsearch, המערכת מחזירה רק את "листь" — ומפספסת את "лист", "листовой". זו בעיה אופיינית בניתוח מורפולוגי של רוסית: גזירה מבוססת-כללים חותכת סיומות, ומאבדת עד 40% מהמסמכים הרלוונטיים. אנחנו משתמשים בלמטיזציה המבוססת על מילוני Hunspell כדי להבטיח חיפוש מדויק בכל צורות המילים של רוסית ואנגלית. במשך יותר מ-5 שנים השלמנו למעלה מ-30 פרויקטים של הגדרת חיפוש לחנויות מקוונות, פורטלי חדשות ופורטלים ארגוניים. המהנדסים שלנו מחזיקים בהסמכות Elastic Certified Engineer ובעלי הבנה מעמיקה באלגוריתמים לשוניים.

ניתוח מורפולוגי אינו רק חיתוך סיומות — הוא ניתוח מבוסס-מילון. לפי התיעוד של Elasticsearch, למטיזציה מספקת 30–50% יותר תוצאות רלוונטיות מאשר גזירה. להלן נפרט אילו גישות עובדות בפועל וכיצד אנו מיישמים אותן.

מדוע גזירה נופלת מלמטיזציה?

גזירה (Snowball, Porter) חותכת סיומות לפי כללים. מהירה — 1–2 אלפיות השנייה לכל טוקן, אך לא מדויקת. לדוגמה, "бегать" ו-"бег" מייצרות גזעים שונים, למרות שהן קשורות סמנטית. עבור רוסית זה קריטי: צורות מילים יכולות להיות שונות מאוד (бежать, бежал, бегущий). למטיזציה משתמשת במילונים (Hunspell, Mystem) ומצמצמת מילים לצורת הבסיס שלהן. היא איטית יותר בזמן אינדוקס (פי 3–10), אך דיוק החיפוש משתפר ב-30–50%. בפרויקטים שלנו, למטיזציה עם Hunspell מדויקת פי 1.5 מאשר Snowball.

פרמטר גזירה (Snowball) למטיזציה (Hunspell)
מהירות אינדוקס 1–2 אלפיות השנייה/טוקן 5–20 אלפיות השנייה/טוקן
דיוק חיפוש לרוסית ~60% ~90%
תלות במילון לא נדרש מילון של 50–500 מגה-בייט
תמיכה בצורות מילים מוגבלת למטיזציה מלאה

כיצד להגדיר Hunspell לרוסית ואנגלית?

התקנת המילונים אורכת יום עסקים אחד. אנו משיגים מילונים ממאגר LibreOffice.

mkdir -p /etc/elasticsearch/hunspell/ru_RU
cd /etc/elasticsearch/hunspell/ru_RU
wget https://cgit.freedesktop.org/libreoffice/dictionaries/plain/ru_RU/ru_RU.dic
wget https://cgit.freedesktop.org/libreoffice/dictionaries/plain/ru_RU/ru_RU.aff
# Аналогично для en_US

לאחר הוספת המילונים, יש להפעיל מחדש את Elasticsearch וליצור אינדקס עם האנלייזר.

PUT /articles
{
  "settings": {
    "analysis": {
      "filter": {
        "ru_hunspell": {
          "type": "hunspell",
          "locale": "ru_RU",
          "dedup": true
        },
        "en_hunspell": {
          "type": "hunspell",
          "locale": "en_US",
          "dedup": true
        }
      },
      "analyzer": {
        "ru_en_morphology": {
          "tokenizer": "standard",
          "filter": ["lowercase", "ru_hunspell", "en_hunspell", "unique"]
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "content": {
        "type": "text",
        "analyzer": "ru_en_morphology",
        "search_analyzer": "ru_en_morphology"
      }
    }
  }
}

בדיקת איכות:

POST /articles/_analyze
{
  "analyzer": "ru_en_morphology",
  "text": "Разработчики создали приложение для управления задачами"
}
# Ожидаемые токены: разработчик, создать, приложение, управление, задача

אתגרים מופיעים עם תוכן דו-לשוני. אנו משתמשים ב-multi-field עם אנלייזרים שונים לרוסית ואנגלית, ולאחר מכן ב-multi-match עם boosting. זה מגביר את הרלוונטיות לשאילתות מעורבות.

כיצד לשפר חיפוש בתוכן מעורב?

לאתרים עם תוכן ברוסית ואנגלית, אנו מיישמים multi-field: שדה אחד עם ru_hunspell ואחר עם en_hunspell. חיפוש דרך multi_match עם מקדם 1.5 לשפה הראשית. זה משפר את הדיוק לשאילתות מעורבות ב-25%. לדוגמה, השאילתה "управление tasks" מוצאת מסמכים בשתי השפות.

שיטה דיוק ל-ru דיוק ל-en זמן תגובה
רגיל בלבד 55% 70% <30 אלפיות השנייה
Hunspell ru/en multi-field 88% 85% <50 אלפיות השנייה

מקרה בוחן: חנות רהיטים מקוונת

הלקוח שלנו, חנות רהיטים מקוונת, נתקל בבעיה: חיפוש "стул" לא החזיר את "стулья", "стульчик". לאחר יישום Hunspell, דיוק החיפוש השתפר מ-62% ל-89%. בנוסף, הגדרנו multi-field לקטלוג עם שמות איטלקיים באנגלית. כתוצאה מכך, שיעור ההמרה בחיפוש עלה ב-12%, וההכנסות גדלו ב-15%. ההתקנה ארכה 3 ימי עסקים.

תהליך התקנה כולל

  1. ניתוח נתונים: הערכת נפח, הרכב שפות, סוגי שאילתות.
  2. בחירת מילון: Hunspell ל-ru/en, בתוספת מילוני משתמש מותאמים אם נדרש.
  3. הגדרת אינדקס: הגדרת אנלייזרים, בדיקה על מדגם.
  4. אינדוקס מחדש: יצירת אינדקס חדש עם מורפולוגיה, העברת נתונים.
  5. אופטימיזציה: כוונון mkdir -p /etc/elasticsearch/hunspell/ru_RU cd /etc/elasticsearch/hunspell/ru_RU wget https://cgit.freedesktop.org/libreoffice/dictionaries/plain/ru_RU/ru_RU.dic wget https://cgit.freedesktop.org/libreoffice/dictionaries/plain/ru_RU/ru_RU.aff # Аналогично для en_US , PUT /articles { "settings": { "analysis": { "filter": { "ru_hunspell": { "type": "hunspell", "locale": "ru_RU", "dedup": true }, "en_hunspell": { "type": "hunspell", "locale": "en_US", "dedup": true } }, "analyzer": { "ru_en_morphology": { "tokenizer": "standard", "filter": ["lowercase", "ru_hunspell", "en_hunspell", "unique"] } } } }, "mappings": { "properties": { "content": { "type": "text", "analyzer": "ru_en_morphology", "search_analyzer": "ru_en_morphology" } } } } , POST /articles/_analyze { "analyzer": "ru_en_morphology", "text": "Разработчики создали приложение для управления задачами" } # Ожидаемые токены: разработчик, создать, приложение, управление, задача .
  6. בדיקות קבלה: השוואת תוצאות חיפוש לפני/אחרי, התאמת מילות עצירה.
  7. תיעוד ומסירה: סכמת אינדקס, נהלי תחזוקה.

מה כלול

  • הכנה והתקנה של מילוני Hunspell לרוסית ואנגלית.
  • הגדרת אנלייזר מותאמת למאפייני התוכן (מילות עצירה, הסרת כפילויות).
  • סכמת אינדקס עם multi-field לחיפוש דו-לשוני.
  • סקריפטים לאינדוקס מחדש ואופטימיזציית ביצועים (bulk, forcemerge).
  • תיעוד הגדרות והוראות להוספת מילונים חדשים.
  • שימוש במילוני Hunspell ברישיון.
  • אחריות על פעולת האנלייזר למשך 30 יום לאחר המסירה.
דוגמת הגדרה לאינדקס דו-לשוני
PUT /articles_bilingual
{
  "settings": {
    "analysis": {
      "filter": {
        "ru_hunspell": {
          "type": "hunspell",
          "locale": "ru_RU",
          "dedup": true
        },
        "en_hunspell": {
          "type": "hunspell",
          "locale": "en_US",
          "dedup": true
        }
      },
      "analyzer": {
        "ru_analyzer": {
          "tokenizer": "standard",
          "filter": ["lowercase", "ru_hunspell", "unique"]
        },
        "en_analyzer": {
          "tokenizer": "standard",
          "filter": ["lowercase", "en_hunspell", "unique"]
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "title": {
        "type": "text",
        "fields": {
          "russian": {
            "type": "text",
            "analyzer": "ru_analyzer"
          },
          "english": {
            "type": "text",
            "analyzer": "en_analyzer"
          }
        }
      }
    }
  }
}

לוחות זמנים

זמן משוער: 2 עד 5 ימי עסקים, תלוי בנפח הנתונים ובמורכבות ההגדרה. התמחור מחושב באופן אישי. החיסכון הממוצע בעלויות על חידודי חיפוש לאחר יישום Hunspell הוא 30% בהשוואה לפתרונות חלופיים.

אנו מבטיחים שדיוק החיפוש לצורות מילים יעלה ב-30% לפחות בהשוואה לגזירת Snowball הסטנדרטית.

אם ברצונכם לשפר את החיפוש בפרויקט שלכם — צרו קשר לייעוץ. נבחן את המשימה שלכם. הזמינו התקנת חיפוש מורפולוגי ב-Elasticsearch. קבלו ייעוץ.