ובכן מה דעתך על אופן בניית מנוע חיפוש
בנית כבר אחד, נכון?
כן. אני חושב שהדבר החשוב ביותר
אם הנך מתכוון לבנות מנוע חיפוש
זה להכיל מצבור ממש מתאים כדי להתחיל בו
במקרה שלנו השתמשנו ברשת האינטרנט, אשר בזמנו הייתה לבטח קטנה יותר מאשר היום.
אבל זה היה חדיש ומרגש
היו כל מיני דברים בלתי צפויים שם.
ובכן, המטרה של שלושת היחידות הראשונות של הקורס היא לבנות מצבור כזה.
ואנו רוצים לבנות את המצבור עבור מנוע החיפוש שלנו
על-ידי סריקת הרשת, וזה מה שסורק רשת עושה.
מהו סורק רשת? זוהי תוכנת מחשב האוספת תוכן מהרשת.
אם תחשבו על דף שרואים בדפדפן, יש לכם דף מעין זה.
ואנו נשתמש באתר הקורס כדוגמה לדף רשת.
יש בו הרבה תוכן, יש בו תמונות, יש בו קצת טקסט.
כל זה מגיע לדפדפן כאשר מבקשים את הדף .
הדבר החשוב שיש לו הם הקישורים.
ומהו קישור? זהו משהו שמפנה לדף אחר.
ובכן יש לנו קישור לשאילתות שנשאלות לעתים קרובות,
יש לנו קישור לדף: cs 101
יש גם כמה קישורים נוספים בדף הזה.
וקישור זה יתכן ויופיע בדפדפן עם קו תחתי
ייתכן ולא, תלוי כיצד הדפדפן שלך מוגדר.
אבל הדבר החשוב הוא,
קישור שהוא מצביע לדף רשת אחר .
והדפים האחרים ייתכן ויהיו להם גם קישורים
ובכן יש לנו קישור נוסף בדף זה
ייתכן וזה קישור לשמי, ושניתן להגיע בעקבותיו לדף הבית שלי.
וכל הדפים שאנו יכולים למצוא בעזרת סורק הרשת שלנו
הנם מאותרים על-ידי מעקב אחר הקישורים.
כך שלא בהכרח ימצא כל דף ברשת
אם נתחיל בדף גרעיני טוב
נמצא הרבה דפים
ומה שהסורק יעשה, הוא להתחיל בדף אחד,
מציאת את כל הקישורים בדף זה, לעקוב אחריהם כדי למצוא דפים אחרים
ואז בדפים האחרים הוא יעקוב אחר הקישורים שלהם
כדי למצוא דפים אחרים ובהם יהיו עוד הרבה קישורים.
ובסופו של דבר יהיה לנו אוסף של הרבה דפים ברשת.
ובכן זהו מה שאנו רוצים לעשות, לבנות סורק רשת.
אנו רוצים למצוא דרך כלשהי שמתחילה מדף גרעיני,
מחלצת את כל הקישורים בדף
עוקבת אחר קישורים אלה לדפים אחרים
ואז לאסוף את הקישורים של דפים אחרים אלה,
לעקוב אחריהם, לאסוף אותם.
ובכן זה נשמע כמו הרבה עבודה.
אנו לא נעשה זאת בשיעור הראשון.
ביחידה הראשונה אנו רק נחלץ קישור אחד.
ובכן אנו נתחיל עם מקבץ טקסטואלי
יהיה בו קישור עם URL
מה שאנו רוצים למצוא הוא את ה-יו.אר.אל הזה (URL = יו.אר.אל)
כך שנוכל לבקש את הדף הבא.
המטרה של היחידה השנייה
הנה להמשיך בחיפוש
אם יש הרבה קישורים בדף אחד, נרצה למצוא את כולם.
וזה מה שנעשה ביחידה השנייה,
נגלה כיצד להמשיך בחיפוש ולחלץ את כל הקישורים הללו.
ביחידה שלוש נרצה להמשיך מעבר לדף אחד.
בסיום היחידה השנייה נוכל להדפיס את כל הקישורים שבדף.
ביחידה שלוש אנו רוצים לאסוף את כל הקישורים, כך שנוכל להמשיך,
לסיים את המעקב, ולאסף הרבה דפים.
בסיומה של יחידה שלוש יהיה לנו סורק רשת בנוי.
תהיה לנו דרך לבנות את המצבור שלנו.
בשלושת היחידות הנותרות נראה כיצד נענים לשאילתות.
וביחידה ארבע נסיק כיצד לתת תגובה טובה.
כך שאם הנך מחפש/ת מלת מפתח תתקבל בתגובה רשימת דפים
השייכים למלת המפתח הזו.
וביחידה חמש נמצא דרך לעשות זאת יחסית לגודל, במקרה שיש לנו מצבור גדול.
וביחידה שש אנו לא רק רוצים למצוא רשימה
אנו רוצים למצוא את הרשימה הטובה ביותר.
כך שנדע כיצד לדרג את כל הדפים בהם מלת המפתח מופיעה.
אנו מעט מקדימים,
מאחר וכל מה שאנו עומדים לעשות ביחידה אחת,
הוא להבין כיצד לחלץ קישור אחד מדף.
ומנוע החיפוש שנבנה בסוף התהליך
יהיה מנוע חיפוש מתפקד.
יהיו לו את המרכיבים העיקריים של מנוע חיפוש כמו שיש לגוגל.
הוא בוודאי לא יהיה חזק כמו המנוע של גוגל
אנו רוצים לשמור על פשטות.
אנו רוצים לכתוב מעט קוד
ועלינו לזכור שמטרתנו העקרית
אינה לבנות מנוע חיפוש,
אלא שימוש, בתהליך בניית מנוע חיפוש, ככלי עזר
ללימוד מדעי המחשב.
וגם ללמוד תכנות
כך שלמידה תוך כדי עשייה
תאפשר לנו לפתור הרבה בעיות אחרות.