ציטוט:
נכתב במקור על ידי IgalSt
התחלתי לכתוב פתרון נוסף שיהיה מהיר יותר בזמן ריצה, אבל החלטתי שלו.
אחרי התגובה שלך אני רואה שזה יכול להיות רלוונטי בכל זאת.
אפשר לעבוד עם תגיות אוטומטית.
אחת לכמה זמן לסרוק את הטבלה הגדולה שלך ועבור כל מילה בה ליצור רשומה טבלת תגיות ייעודית. בטבלה הזאת תשמור את ה-ID של הרשומה מהטבלה הגדולה, את המילה עצמה ואת כמות ההופעות שלה באותה רשומה. נכון שזה תופס המון מקום ולא קצת משאבים ליצר את זה, אבל ככה אתה בעצם בונה אינדקס גדול שעליו תוכל להריץ חיפוש מהיר בקלות וגם לדעת מה רלוונטיות (לפי כמות הופעות).
אם אתה רוצה לחסוך קצת משאבים, אתה יכול לשמור את שאילתות החיפוש שמריצים אצלך ואת הסריק שתארתי מקודם לעשות רק עבורן. כאשר אתה נתקבל במחרוזת חיפוש חדשה, תריץ את האינדוקס ייעודית עבורה ותציג תוצאות למשתמש (ועל הדרך תוסיף אותן לטבלה).
הכל תלוי בעלות תועלת שלך
|
במקרה הזה מדובר על מנוע חיפוש שאני מפתח. הבוט כבר חי ונושם וסורק לו להנאתו.
הפיתרון שלך לא מתאים לי כי זה מנוע חיפוש שתוצאות שהתאנדקסו לפני שבוע כבר ברוב המקרים לא יהיו רלוונטיות, אז לשמור לכל רשומה את המיקום הרלוונטי, ואז שוב אחרי שבוע לעבור מחדש זה יותר מדי משאבים.
עוד שאלה שאני מניח שהפיתרון שלהם פשוט, לדוגמא משתמש מחפש "נעליים נוחות לריצה", ו"נעליים נוחות" מופיע בכותרת, ו"לריצה" מופיע בתיאור, אז איך אני יכול לקבל את הרשומה הזאת מהמסד?