כיצד ליצור מנוע חיפוש ב-PHP ו-MySQL

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

אז למה לעשות מנוע חיפוש משלך? - להרוויח כסף כמובן!

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

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

היסודות של החיפוש

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

כדי ליצור מנוע חיפוש אתה צריך לעשות ארבעה דברים:

* להחליט אילו דפים להביא והבא אותם
* נתח מילים, ביטויים וקישורים מהדףgoogle-custom-se
* תן ציון לכל מילת מפתח או ביטוי מפתח המציין עד כמה הביטוי קשור לדפים אלו ואחסן את הציונים באינדקס של מנוע החיפוש
* ספק דרך למשתמשים לבצע שאילתות באינדקס ולקבל רשימה של דפי אינטרנט תואמים

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

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

איך לקלוע דפים

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

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

מה לאינדקס ולא לאינדקס

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

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

ניתוח אתרי אינטרנט

יש מיליון דרכים, הן נכונות והן לא נכונות לכתיבת HTML וכאשר אתה מוסיף אינדקס מהאינטרנט תצטרך לטפל בכולן.

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

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

למה כל כך הרבה כתובות אתרים?

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

dmoz.org
www.dmoz.org
dmoz.org/index.html
www.dmoz.org/index.html

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

google.com?SID=4434324325325
google.com?SID=4387483748377
google.com?SID=7654565644466

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

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

כל הקטגוריותבלוג
  1. Pingback:ציוצים שמזכירים את TopTut.com – מדריכים מובילים » איך ליצור מנוע חיפוש ב-PHP ו-MySQL -- Topsy.com

  2. Pingback:TopTut.com – מדריכים מובילים » כיצד ליצור מנוע חיפוש ב-PHP … | קידום במנועי חיפוש באינטרנט

תגובות סגורות.