בתשובה לערן טרומר, 16/01/04 0:41
המוס עמוס במחשבות 191070
אז אולי אפשר להוסיף שדה נסתר לכל תגובה וסיפור שיכלול את כל הסיומות האפשריות של כל אחת מהמלים בטקסט, ואז להריץ full text search עפ"י קידומת. זה יכפיל את נפח האחסון של האייל פי n, כש-n הוא אורך המלה הממוצעת (לא ביג דיל, חוץ מתגובות של אלכסנדר מאן).
המוס עמוס במחשבות 191080
יותר פשוט לממש מנגנון FTS משלנו (וזה כנראה מה שנעשה, בסופו של דבר); אלא שכרגע אין לנו את נפח הדיסק הדרוש.
המוס עמוס במחשבות 191114
לפני שכותבים משהו מאפס - כדאי אולי להעיף מבט כאן: http://jakarta.apache.org/lucene/docs/index.html
( או כאן: http://sourceforge.net/projects/clucene/ )
(זה בהנחה שאפשר לגשר על הפער בין השפה שבה כתובה תוכנת האייל (PHP?) לבין אחת מהאופציות הנ"ל).

Lucene אינו רק פרויקט קוד פתוח, אלא כתוב גם בארכיטקטורה פתוחה המאפשרת לכתוב "analyzer"-ים של טקסט - למשל לעברית.
(למען ההגינות צריך לציין שהעניין איננו פשוט כל כך - משום שהמערכת כפי שהיא אינה מאפשרת לאנדקס מילה ביותר מאופן אחד: "מספר" חייבת להישמר או כ "מספר" או כ"ספר" - האופציה הראשונה תיכשל כשמלת החיפוש תהיה "ספר", והשניה, כשמילת החיפוש תהיה "המספר").

ואם אתה כבר יודע את כל זה - סליחה על הטרחה.
המוס עמוס במחשבות 191115
תודה על ההפניות, אך כתיבת מנגנון החיפוש לא נראית לי כאתגר גדול במיוחד -- והטורח בתרגום משפה אחרת יהיה ודאי גדול יותר. השיקולים הייחודיים לאייל (עברית, מיקום הטקסט -- מאמר או תגובה, גוף הטקסט או כותרת, וכו') יהפכו את מאמץ ההמרה למורכב עוד יותר, שלא לצורך.
המוס עמוס במחשבות 191116
הממם... אני קיוויתי שתוכל להעזר ב-Lucine באחת השפות שהוא כבר כתוב בהן (כשאמרתי "לגשר" חשבתי על רכיבים שכתובים בשפות שונות ומדברים בינהם - לא על port).

לגבי חיפוש בשדות שונים (מאמר, תגובה וכו') - זה לא ייחודי כל כך, ו-Lucene תומך בכך בקלות (ללא עבודה נוספת).

אני קצת מופתע מכך שכתיבת מנגנון חיפוש (יעיל) לא נראית לך כאתגר גדול במיוחד (על Lucene עבדו, נדמה לי, לא מעט אנשים במשך זמן לא קצר). אני אשמח אם תצליח במשימה ותוכיח לי שהספקנות שלי איננה במקומה.
המוס עמוס במשימות 191117
לכשאתפנה לטפל במשימה זו, אבחן את Lucene בקפידה לפני שאתחיל. השבוע סיימתי מאמץ שנמשך כמה חודשים‏1 - שדרוג מלא של "אזור המערכת" של האייל; שינוי מהותי ומשמעותי שאף משתמש, מלבד העורכים (ואולי חלק מכותבי המאמרים) לא ירגיש בו. המשימות הבאות גם הן "מאחורי הקלעים", כמו למשל ניצול יכולות הטרנזקציה החדשות (יחסית) של MySQL.

-----
1 כמה חודשים, בעיקר משום שלא הקדשתי לו את כל זמני, כמובן.

חזרה לעמוד הראשי המאמר המלא

מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים