![]() |
רלוונטיות תוצאות חיפוש
יש לי אתר עם מסד נתונים שמכיל בתוכו פרטים על משהו מסויים. למשהו הזה יש תיאור, כותרת, ועוד פרטים אחרים. עכשיו אם מישהו עושה חיפוש באתר זה מביא לי את כל הפריטים שיש להם באחד מהפרמטרים שלהם (כותרת, תיאור, וכל שאר הפרטים על המשהו הזה) את מה שהגולש חיפש.
הבעיה היא שהתוצאות לא רלוונטיות ככה... רציתי לדעת האם יש איזה שאילתא מיוחדת או שיטה מסויימת כדי להציג את הדברים בצורה יותר רלוונטית ? כל פיתרון יתקבל בברכה תודה :) |
אמממ.. אתה יכול קודם כל לנסות להציג את הפריטים שהכותרת שלהם מכילה את מילת החיפוש וכן הלאה, לפי מה שעבורך רלוונטי יותר..
|
ציטוט:
בטוח יש איזה פקודה כלשהיא שאפשר לעשות בשאילתא |
אחרי ששלפת את התוצאות,
למה שלא תרוץ עליהן בצד שרת ותספוק כמות הופעות של מחרוזת החיפוש בכל אחת מהתוצאות ותמיין לפי המונה הזה? כמו כן תוכל להחליט שאם ההופעה היא בכותרת אתה סופר את זה כפול (כי זה משהו חשוב). |
ציטוט:
אפשר אולי לנסות לאחסן את זה בסשיין או בקוקיז, או אפילו בבסיס נתונים, אבל זה כנראה יהיה ארוך מדי כדי לאחסן בסשיין או בעוגיה. אני כנראה אנסה את זה אם לא יהיו פתרונות אחרים |
ציטוט:
אחרי התגובה שלך אני רואה שזה יכול להיות רלוונטי בכל זאת. אפשר לעבוד עם תגיות אוטומטית. אחת לכמה זמן לסרוק את הטבלה הגדולה שלך ועבור כל מילה בה ליצור רשומה טבלת תגיות ייעודית. בטבלה הזאת תשמור את ה-ID של הרשומה מהטבלה הגדולה, את המילה עצמה ואת כמות ההופעות שלה באותה רשומה. נכון שזה תופס המון מקום ולא קצת משאבים ליצר את זה, אבל ככה אתה בעצם בונה אינדקס גדול שעליו תוכל להריץ חיפוש מהיר בקלות וגם לדעת מה רלוונטיות (לפי כמות הופעות). אם אתה רוצה לחסוך קצת משאבים, אתה יכול לשמור את שאילתות החיפוש שמריצים אצלך ואת הסריק שתארתי מקודם לעשות רק עבורן. כאשר אתה נתקבל במחרוזת חיפוש חדשה, תריץ את האינדוקס ייעודית עבורה ותציג תוצאות למשתמש (ועל הדרך תוסיף אותן לטבלה). הכל תלוי בעלות תועלת שלך |
ציטוט:
הפיתרון שלך לא מתאים לי כי זה מנוע חיפוש שתוצאות שהתאנדקסו לפני שבוע כבר ברוב המקרים לא יהיו רלוונטיות, אז לשמור לכל רשומה את המיקום הרלוונטי, ואז שוב אחרי שבוע לעבור מחדש זה יותר מדי משאבים. עוד שאלה שאני מניח שהפיתרון שלהם פשוט, לדוגמא משתמש מחפש "נעליים נוחות לריצה", ו"נעליים נוחות" מופיע בכותרת, ו"לריצה" מופיע בתיאור, אז איך אני יכול לקבל את הרשומה הזאת מהמסד? |
תפרט יותר. האם התחום הסמנטי של האתרים שאתה מאנדקס הוא דומה? אם כן, יש לי רעיון מה אפשר לעשות, אבל בשביל לחסוך לעצמי באסה על בזבוז זמן, קודם תסביר פחות או יותר מה המנוע עושה (:
|
ציטוט:
אבל לדוגמא אם זה מנוע חיפוש עבודה, אז הוא יסרוק את האתרים ושימור את הפרטים (משרה מלאה/חלקית, מיקום, תיאור וכו'), ואז ישמור במסד כל מידע בעמוד נפרדת. ואז אני רוצה לעשות חיפוש במסד הזה. |
האלוריתם של גוגל מורכב מהמון דברים שהופכים אותו לכל כך איכותי, אתה צריך לדאוג לאלוריתם פשוט יותר אבל נוח...
לדוגמה של המנוע חיפוש לאתרים (ככללי): לפי קטגוריה,מספר צפיות,מספר קישורים נכנסים,מספר קישורים יוצאים,כמות מילים כוללת באתר ועוד... בעצם ליצור אלגוריתם מקיף, ואולי אפילו ליצור מין דירוג מיוחד שיעזור לאלגוריתם... |
ציטוט:
ומישהו יודע אולי אם יש פקודה לשרשור בsql, כדי לעשות משהו כזה select * from `table` where (`column1`+`colum2`) like '%טקסט%' ?? |
http://phpguide.co.il/%D7%97%D7%99%D...7%9C%D7%90.htm
מצאתי את זה, זה נראה לי מה שאני צריך אבל לא הבנתי את הקטע להפוך את אחת העמודות לfull text, כי במקרה שלי יש לי מספר עמודות, אז איך אני אמור לעשות? חשבתי לעשותת עוד עמודה שתכיל את כל המידע עם רווחים, אבל זה יקח הרבה מקום וזה לא יעיל עריכה: http://www.stemkoski.com/multiple-co...ase-using-php/ זה מסביר את העניין למי שצריך. בגדול יש פקודה match שמאפשר גם לעשות חיפוש, וגם מאפשר לדעת עד כמה התוצאה רלוונטית למילת החיפוש, ואז אפשר למיין לפיה את התוצאות. |
הרעיון שלי הוא כזה. הרי אתה יודע שהתחום הוא, נגיד, עבודה.
ביטויים שקשורים בעבודה יכולים להיות כמובן "חיפוש","משרה" ו"בוס" - אבל גם "מתכנת","גנן" ו"רואה חשבון". אפילו "טכנולוגיה" או "24 שעות ביממה" אלו ביטויים עם משמעות. המלצה שלי: צור מערכים עם שיוך לתגיות. לדוגמא, צור את הרצף הבא: מתכנת -> טכנולוגיה, תכנות. גנן -> גננות, בית וכו'. "24 שעות" -> כל היום. שמור את הביטויים האלה כביטויים מנחים. אחר כך, כשמישהו יחפש "מתכנת שעובד כל היום באזור רמת גן", תוכל לפצל את הדרישה: [תכנות] + [כל היום] + [רמת גן], ולזה תהיה לך תשובה. ככל שיהיו יותר תגיות רלוונטיות, כך התוצאה תדורג יותר גבוה. אתה יכול ללכת יותר רחוק ולתת אחוז רלוונטיות לכל תגית לגבי העמוד (נגיד שהנושא תכנות מופיע הכי הרבה, הוא יקבל 0.6, כאשר כל היום יקבל 0.2 ורמת גן 0.2. ככה מי שיחפש תכנות ברמת גן יקבל 0.8 רלוונטיות לעומת מי שיחפש "אדם שעובד כל היום ברמת גן" ויקבל 0.4, כי זה פשוט פחות רלוונטי לעמוד ששמרת). בהצלחה |
ציטוט:
והפתרון שלך גם מצריך המון עבודה למצוא מילים נרדפות, לארגן מילות מפתח. והבעיה בו שתמיד יהיה איזה מילה נרדפת שלא קיימת במאגר שלי או מילת מפתח שלא ידעתי עליה, אז זה לא ממש מושלם |
כל הזמנים הם GMT +2. הזמן כעת הוא 23:48. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ