Skip to content
palmoni5 edited this page Jul 17, 2026 · 1 revision

איתור מקורות

lib/find_ref/ — הקלדת מראה מקום ("שו"ע או"ח סימן א", "ראשונים סנהדרין") וקפיצה ישירה אליו.

מבנה

  • bloc/ — ‏FindRefBloc עם transformer‏ restartable() ו־debounce של 250ms.
  • repository/find_ref_repository.dart (~1500 שורות) — מנוע ההתאמה.
  • repository/find_ref_db_isolate.dart — חיבור read-only + מטמון TOC ב־isolate נפרד.
  • repository/reference_books_cache.dart — מטמון ספרים בזיכרון עם חיפוש לפי שם/דור/נושא.
  • view/find_ref_dialog.dart — הדיאלוג (נפתח ב־Ctrl+O).

אלגוריתם ההתאמה — findRefs

  1. נרמול וטוקניזציה של השאילתה.
  2. מצב "דור + נושא" — "ראשונים סנהדרין" ← כל הראשונים על סנהדרין.
  3. התאמת ספר — הביטוי המוביל הארוך ביותר (עד 3 טוקנים, לראשי תיבות כמו "שוע אוח") מול מטמון הספרים, עם דירוג התאמה (מדויק ← מכיל ← ראשי תיבות).
  4. חיפוש TOC — לטוקנים שנותרו (כולל טיפול בה' הידיעה: "הרא"ש"↔"ראש"), עם תקרת 50 ספרים ותיעדוף לפי כיסוי הכותרת. תומך ב:
    • ‏TOC רגיל.
    • AltToc — מבנים חלופיים (פרשות, עליות).
    • ‏outline של PDF — כולל פרסור ציטוט דף ("דף ב ע"א").
  5. ‏fallback גלובלי של AltToc כשאין התאמה פר־ספר.
  6. ספרים אישיים — נכללים לפי הגדרה.
  7. עיבוד סופי: הסרת כפילויות ← דיכוי וריאנטים עמוקים (כשקיים אב) ← דירוג (עד 100 תוצאות) ← העשרה בנתיבי קטגוריה ← סינון תוצאות בבלי־PDF כפולות.

יכולות נוספות

  • getCommentatorsForResult — הצגת המפרשים הזמינים לתוצאה, ממוינים לפי דורות, כך שאפשר לפתוח ישר מפרש על המקום.
  • clearAllCaches — איפוס בכל רענון ספרייה.
  • נרמול גרשיים וסימוני ע"א/ע"ב מול פורמט ה־TOC של הגמרא (tocTextMatchesRef) — משמש גם את התוספים ב־openBookAtRef.

דפים קשורים

Clone this wiki locally