הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   רלוונטיות תוצאות חיפוש (https://hosts.co.il/forums/showthread.php?t=90027)

Erez | TrustMedia.co.il 10-06-11 09:15

ציטוט:

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

אני לא מתיימר להיות כמו גוגל, ובמקרה שלי כל התוצאות חיפוש יהיו בעלי ערך זהה, לא תהיה תוצאה אחת שהיא יותר עדיפה מהשניה, אבל תהיה תוצאה שהיא יותר רלוונטית למילת מפתח מסויימת.
ומישהו יודע אולי אם יש פקודה לשרשור בsql, כדי לעשות משהו כזה
select * from `table` where (`column1`+`colum2`) like '%טקסט%'
??

Erez | TrustMedia.co.il 10-06-11 09:26

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 שמאפשר גם לעשות חיפוש, וגם מאפשר לדעת עד כמה התוצאה רלוונטית למילת החיפוש, ואז אפשר למיין לפיה את התוצאות.

BlueNosE 10-06-11 11:14

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

המלצה שלי: צור מערכים עם שיוך לתגיות. לדוגמא, צור את הרצף הבא: מתכנת -> טכנולוגיה, תכנות. גנן -> גננות, בית וכו'. "24 שעות" -> כל היום.
שמור את הביטויים האלה כביטויים מנחים. אחר כך, כשמישהו יחפש "מתכנת שעובד כל היום באזור רמת גן", תוכל לפצל את הדרישה:
[תכנות] + [כל היום] + [רמת גן], ולזה תהיה לך תשובה.
ככל שיהיו יותר תגיות רלוונטיות, כך התוצאה תדורג יותר גבוה. אתה יכול ללכת יותר רחוק ולתת אחוז רלוונטיות לכל תגית לגבי העמוד (נגיד שהנושא תכנות מופיע הכי הרבה, הוא יקבל 0.6, כאשר כל היום יקבל 0.2 ורמת גן 0.2. ככה מי שיחפש תכנות ברמת גן יקבל 0.8 רלוונטיות לעומת מי שיחפש "אדם שעובד כל היום ברמת גן" ויקבל 0.4, כי זה פשוט פחות רלוונטי לעמוד ששמרת).

בהצלחה

Erez | TrustMedia.co.il 10-06-11 11:22

ציטוט:

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

המלצה שלי: צור מערכים עם שיוך לתגיות. לדוגמא, צור את הרצף הבא: מתכנת -> טכנולוגיה, תכנות. גנן -> גננות, בית וכו'. "24 שעות" -> כל היום.
שמור את הביטויים האלה כביטויים מנחים. אחר כך, כשמישהו יחפש "מתכנת שעובד כל היום באזור רמת גן", תוכל לפצל את הדרישה:
[תכנות] + [כל היום] + [רמת גן], ולזה תהיה לך תשובה.
ככל שיהיו יותר תגיות רלוונטיות, כך התוצאה תדורג יותר גבוה. אתה יכול ללכת יותר רחוק ולתת אחוז רלוונטיות לכל תגית לגבי העמוד (נגיד שהנושא תכנות מופיע הכי הרבה, הוא יקבל 0.6, כאשר כל היום יקבל 0.2 ורמת גן 0.2. ככה מי שיחפש תכנות ברמת גן יקבל 0.8 רלוונטיות לעומת מי שיחפש "אדם שעובד כל היום ברמת גן" ויקבל 0.4, כי זה פשוט פחות רלוונטי לעמוד ששמרת).

בהצלחה

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


כל הזמנים הם GMT +2. הזמן כעת הוא 16:59.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ